Linux下查看进程占用内存的最好方式
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
今天看到stackoverflow上关于linux下如何查看某个进程占用的内存是多少的回答,觉得非常棒,不过是全英文的,很多人可能看不懂,所以我翻译一下
翻译自http://stackoverflow.com/questions/3853655/in-linux-how-to-tell-how-much-memory-processes-are-using
查看进程占用的内存的方式可能比你想象中的要复杂的多。我所找到的最好的方式是在这篇文章里面看到的(https://web.archive.org/web/20101124103342/http://kdedevelopers.org/node/4040)
echo 0 $(awk '/TYPE/ {print "+", $2}' /proc/`pidof PROCESS`/smaps) | bc
pidof 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占用的进程号
然后这是我的执行例子
# echo 0 $(awk '/Pss/ {print "+", $2}' /proc/2871/smaps) | bc
186814
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献2条内容
所有评论(0)