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内存

相关文章
相关标签/搜索