Linux下查看進程佔用內存的方式

echo 0 $(awk ‘/TYPE/ {print 「+」, $2}’ /proc/pid of PROCESS/smaps) | bcide

pid of PROCESS 就是你想查看的進程的進程PID。TYPE的可選值以下工具

Rss: 內存佔用。進程佔用的全部內存,包括跟其餘進程共享的內存(直接把共享的整個內存數值加上來)。可是這個值沒有包含swap
Shared: 該進程跟其餘進程分享的內存
Private: 該進程佔用的私有內存。經過這個數據你能夠查看到內存泄露問題
Swap 該進程用的swap內存
Pss 按比例計算的內存數量。這是一個很好的看整體內存佔用量的參數。這是根據共享進程的數量來調整共享內存數量的內存佔用。 若是一個進程佔用的私有內存是1MB,使用的共享內存有20MB,可是這個共享內存同時有10個進程(包括它本身在內)在使用,那麼PSS就是 1 + 20/10 = 3MB

例子
我本身執行這段代碼的時候發現bc工具沒裝,就先用 yum install bc 來安裝了一下bc

我先用 ps aux | grep hbase 來找到hbase佔用的進程號code

而後這是個人執行例子進程

echo 0 $(awk '/Pss/ {print "+", $2}' /proc/2871/smaps) | bc
186814內存

相關文章
相關標籤/搜索