Centos5

PID的記憶體使用情況?

  • August 19, 2011

我試圖測量應用程序在目前時刻使用了多少記憶體。

所以我們開始吧,free -k -t

[user@server ~]$ free -k -t
            total       used       free     shared    buffers     cached
Mem:       1026076     581880     444196          0     158656     269704
-/+ buffers/cache:     153520     872556
Swap:            0          0          0
Total:     1026076     581880     444196

然後 pmap -x PID 想要驗證:

[user@server ~]$ pmap -x 18503
18503:   /usr/bin/java -jar /home/user/app.jar mycfg.cfg
Address           Kbytes     RSS   Dirty Mode   Mapping
0000000040000000      36      36       0 r-x--  java
0000000040108000       8       8       8 rwx--  java
00000000403d9000       4       0       0 -----    [ anon ]
00000000403da000    1024      12      12 rwx--    [ anon ]
000000004055b000      12       0       0 -----    [ anon ]
000000004055e000    1016      72      72 rwx--    [ anon ]
000000004065c000      12       0       0 -----    [ anon ]
000000004065f000    1016      72      72 rwx--    [ anon ]
00000000407ad000      12       0       0 -----    [ anon ]
00000000407b0000    1016      32      32 rwx--    [ anon ]
00000000408ae000      12       0       0 -----    [ anon ]
00000000408b1000    1016      36      36 rwx--    [ anon ]
00000000409cc000      12       0       0 -----    [ anon ]
00000000409cf000    1016     100     100 rwx--    [ anon ]
0000000040acd000      12       0       0 -----    [ anon ]
0000000040ad0000    1016      72      72 rwx--    [ anon ]
0000000040bce000      12       0       0 -----    [ anon ]
0000000040bd1000    1016      40      40 rwx--    [ anon ]
0000000040ccf000      12       0       0 -----    [ anon ]
0000000040cd2000    1016      36      36 rwx--    [ anon ]
0000000040e8a000      12       0       0 -----    [ anon ]
0000000040e8d000    1016      68      68 rwx--    [ anon ]
0000000040f8b000      12       0       0 -----    [ anon ]
0000000040f8e000    1016      68      68 rwx--    [ anon ]
00000000410dd000      12       0       0 -----    [ anon ]
00000000410e0000    1016      68      68 rwx--    [ anon ]
00000000411de000      12       0       0 -----    [ anon ]
00000000411e1000    1016      36      36 rwx--    [ anon ]
00000000412df000      12       0       0 -----    [ anon ]
00000000412e2000    1016      40      40 rwx--    [ anon ]
000000004144a000      12       0       0 -----    [ anon ]
000000004144d000    1016       8       8 rwx--    [ anon ]
000000004154b000      12       0       0 -----    [ anon ]
000000004154e000    1016      48      48 rwx--    [ anon ]
00000000416a7000      12       0       0 -----    [ anon ]
00000000416aa000    1016      36      36 rwx--    [ anon ]
00000000417a8000      12       0       0 -----    [ anon ]
00000000417ab000    1016      40      40 rwx--    [ anon ]
00000000418ec000      12       0       0 -----    [ anon ]
00000000418ef000    1016      40      40 rwx--    [ anon ]
00000000419ed000      12       0       0 -----    [ anon ]
00000000419f0000    1016      36      36 rwx--    [ anon ]
0000000041aee000      12       0       0 -----    [ anon ]
0000000041af1000    1016      40      40 rwx--    [ anon ]
0000000041c54000      12       0       0 -----    [ anon ]
0000000041c57000    1016      36      36 rwx--    [ anon ]
0000000041d55000      12       0       0 -----    [ anon ]
0000000041d58000    1016       8       8 rwx--    [ anon ]
0000000041e56000       4       0       0 -----    [ anon ]
0000000041e57000    1024       8       8 rwx--    [ anon ]
0000000041f57000      12       0       0 -----    [ anon ]
0000000041f5a000    1016      44      44 rwx--    [ anon ]
0000000042058000      12       0       0 -----    [ anon ]
000000004205b000    1016      68      68 rwx--    [ anon ]
0000000042159000      12       0       0 -----    [ anon ]
000000004215c000    1016      32      32 rwx--    [ anon ]
000000005e532000   10308   10272   10272 rwx--    [ anon ]
00000000eb200000    5312    5312    5312 rwx--    [ anon ]
00000000eb730000   80704       0       0 rwx--    [ anon ]
00000000f0600000   10752    5856    5856 rwx--    [ anon ]
00000000f1080000  161280       0       0 rwx--    [ anon ]
00000000fae00000   21248   11144   11144 rwx--    [ anon ]
00000000fc2c0000   62720       0       0 rwx--    [ anon ]
0000003ac7e00000     112     104       0 r-x--  ld-2.5.so
0000003ac801c000       4       4       4 r-x--  ld-2.5.so
0000003ac801d000       4       4       4 rwx--  ld-2.5.so
0000003ac8200000    1336     540       0 r-x--  libc-2.5.so
0000003ac834e000    2048       0       0 -----  libc-2.5.so
0000003ac854e000      16      16       8 r-x--  libc-2.5.so
0000003ac8552000       4       4       4 rwx--  libc-2.5.so
0000003ac8553000      20      20      20 rwx--    [ anon ]
0000003ac8600000       8       8       0 r-x--  libdl-2.5.so
0000003ac8602000    2048       0       0 -----  libdl-2.5.so
0000003ac8802000       4       4       4 r-x--  libdl-2.5.so
0000003ac8803000       4       4       4 rwx--  libdl-2.5.so
0000003ac8a00000      88      64       0 r-x--  libpthread-2.5.so
0000003ac8a16000    2044       0       0 -----  libpthread-2.5.so
0000003ac8c15000       4       4       4 r-x--  libpthread-2.5.so
0000003ac8c16000       4       4       4 rwx--  libpthread-2.5.so
0000003ac8c17000      16       4       4 rwx--    [ anon ]
0000003ac8e00000     520      20       0 r-x--  libm-2.5.so
0000003ac8e82000    2044       0       0 -----  libm-2.5.so
0000003ac9081000       4       4       4 r-x--  libm-2.5.so
0000003ac9082000       4       4       4 rwx--  libm-2.5.so
0000003ac9e00000      28      20       0 r-x--  librt-2.5.so
0000003ac9e07000    2048       0       0 -----  librt-2.5.so
0000003aca007000       4       4       4 r-x--  librt-2.5.so
0000003aca008000       4       4       4 rwx--  librt-2.5.so
0000003acc600000      84      24       0 r-x--  libnsl-2.5.so
0000003acc615000    2044       0       0 -----  libnsl-2.5.so
0000003acc814000       4       4       4 r-x--  libnsl-2.5.so
0000003acc815000       4       4       4 rwx--  libnsl-2.5.so
0000003acc816000       8       0       0 rwx--    [ anon ]
0000003acce00000      68      52       0 r-x--  libresolv-2.5.so
0000003acce11000    2048       0       0 -----  libresolv-2.5.so
0000003acd011000       4       4       4 r-x--  libresolv-2.5.so
0000003acd012000       4       4       4 rwx--  libresolv-2.5.so
0000003acd013000       8       4       0 rwx--    [ anon ]
00002aaaaaaab000       8       8       0 r-xs-  gcb.jar
00002aaaaaaad000      32      32       0 r-xs-  resources.jar
00002aaaaaaba000      52      52       0 r-x--  libverify.so
00002aaaaaac7000    1020       0       0 -----  libverify.so
00002aaaaabc6000      12      12      12 rwx--  libverify.so
00002aaaaabc9000     164     132       0 r-x--  libjava.so
00002aaaaabf2000    1020       0       0 -----  libjava.so
00002aaaaacf1000      28      20      20 rwx--  libjava.so
00002aaaaacf8000       4       4       0 r-x--    [ anon ]
00002aaaaacf9000       4       4       4 rwx--    [ anon ]
00002aaaaacfa000      32      32      12 rwxs-  18503
00002aaaaad08000      40      24       0 r-x--  libnss_files-2.5.so
00002aaaaad12000    2044       0       0 -----  libnss_files-2.5.so
00002aaaaaf11000       4       4       4 r-x--  libnss_files-2.5.so
00002aaaaaf12000       4       4       4 rwx--  libnss_files-2.5.so
00002aaaaaf13000      56      56       0 r-x--  libzip.so
00002aaaaaf21000    1032       0       0 -----  libzip.so
00002aaaab023000      12      12      12 rwx--  libzip.so
00002aaaab026000    2500    1168    1168 rwx--    [ anon ]
00002aaaab297000   46656       0       0 rwx--    [ anon ]
00002aaaae027000      40      40      40 rwx--    [ anon ]
00002aaaae031000     728       0       0 rwx--    [ anon ]
00002aaaae0e7000      12      12      12 rwx--    [ anon ]
00002aaaae0ea000     156       0       0 rwx--    [ anon ]
00002aaaae111000      24      24      24 rwx--    [ anon ]
00002aaaae117000     312       0       0 rwx--    [ anon ]
00002aaaae165000      44      44      44 rwx--    [ anon ]
00002aaaae170000     120       0       0 rwx--    [ anon ]
00002aaaae18e000      28      16      16 rwx--    [ anon ]
00002aaaae195000     316       0       0 rwx--    [ anon ]
00002aaaae1e4000      44      24      24 rwx--    [ anon ]
00002aaaae1ef000     124       0       0 rwx--    [ anon ]
00002aaaae20e000    1632    1632       0 r-xs-  rt.jar
00002aaaae3a6000     208     208     208 rwx--    [ anon ]
00002aaaae3da000   55144      44       0 r-x--  locale-archive
00002aaab19b4000     160     160       0 r-xs-  bcprov-jdk15-146.jar
00002aaab19dc000      28      28       0 r-xs-  mysql-connector-java-5.1.13-bin.jar
00002aaab19e3000      24      24       0 r-xs-  commons-configuration-1.6.jar
00002aaab19e9000      20      20       0 r-xs-  commons-lang-2.5.jar
00002aaab19ee000       8       8       0 r-xs-  commons-logging-1.1.1.jar
00002aaab19f0000      56      56       0 r-xs-  commons-collections-3.2.1.jar
00002aaab19fe000      12      12       0 r-xs-  jce.jar
00002aaab1a01000      24      24       0 r-xs-  jsse.jar
00002aaab1a07000      12      12       0 r-xs-  sunjce_provider.jar
00002aaab1a0a000      76      72       0 r-x--  libnet.so
00002aaab1a1d000    1028       0       0 -----  libnet.so
00002aaab1b1e000      12      12      12 rwx--  libnet.so
00002aaab1b2f000      16      16       0 r-x--  libnss_dns-2.5.so
00002aaab1b33000    2044       0       0 -----  libnss_dns-2.5.so
00002aaab1d32000       4       4       4 r-x--  libnss_dns-2.5.so
00002aaab1d33000       4       4       4 rwx--  libnss_dns-2.5.so
00002aaab4000000   16432    3272    3272 rwx--    [ anon ]
00002aaab500c000   49104       0       0 -----    [ anon ]
00002b29fc3a7000       8       8       8 rwx--    [ anon ]
00002b29fc3b7000      28      16       0 r-x--  libjli.so
00002b29fc3be000    1028       0       0 -----  libjli.so
00002b29fc4bf000       8       8       8 rwx--  libjli.so
00002b29fc4c1000      12      12      12 rwx--    [ anon ]
00002b29fc4c4000    9320    6500       0 r-x--  libjvm.so
00002b29fcdde000    1032       0       0 -----  libjvm.so
00002b29fcee0000    1748     608     608 rwx--  libjvm.so
00002b29fd095000     232     164     164 rwx--    [ anon ]
00007fff13b03000      84      44      44 rwx--    [ stack ]
00007fff13b34000      16       4       0 r-x--    [ anon ]
ffffffffff600000    8192       0       0 -----    [ anon ]
----------------  ------  ------  ------
total kB          601248   49456   39620

是檢查它的好方法嗎?

在我的 1026076 (1GB) 可用記憶體中,該程序真的使用 600K 嗎?

我計算對了嗎?

這是一個虛擬機伺服器,以防萬一如果您需要我輸出任何其他命令,請告訴我,謝謝。

我假設您是根據pmap輸出的這一行得出的結論:

total kB          601248   49456   39620

如果是這樣,你讀錯了。這些數字是正在使用的千字節總數,而不是bytes,因此您的 JVM 已請求大約 600 MB記憶體,其中 49 MB實際上儲存在物理記憶體中(其餘的被換出,或已送出但未使用,管他呢)。一小部分記憶體可能與其他程序共享(例如,mmap’d 庫),但與您的程序使用情況相比,它是噪音。

引用自:https://serverfault.com/questions/302911