Answers:
我最终为此编写了自己的实用程序:https : //gist.github.com/Eugeny/04ccfe8accf4bc74b0ca
我将其与init
(pid 1)进行了测试,报告的总数大致等于物理ram的使用量(按htop),因此我想这是正确的。
使用示例:
~ » pstree -ap 15897
zsh,15897
└─sudo,9783 make rundev
└─make,9784 rundev
└─sh,9785 -c cd ajenti-panel && ./ajenti-panel -v --autologin --plugins ../plugins --dev
└─python ./ajenti,9786
├─./ajenti-panel ,9834
├─./ajenti-panel ,9795
└─{python ./ajenti},9796
~ » sudo ./memuse.py 15897
PID Commandline Frames (+unique) VMEM
- 15897 (/usr/bin/zsh ): 1776 +1776 7104 KB
- 9783 (sudo make rundev ): 608 +408 2432 KB
- 9784 (make rundev ): 261 +98 1044 KB
- 9785 (/bin/sh -c cd ajenti-panel && ): 166 +48 664 KB
- 9786 (python ./ajenti-panel -v --aut): 9279 +8977 37116 KB
- 9795 (./ajenti-panel worker [restric): 7637 +1334 30548 KB
- 9834 (./ajenti-panel worker [session): 8972 +2639 35888 KB
----------------------------------------------------------------------------------------
TOTAL: 15280 61120 KB
/proc/*/map
尽管我从未找到能做到这一点的工具,但通过对文件的更深入分析,应该有可能。主要的问题在于,要遵循的数据结构看起来要复杂得多。如果您在这里没有很好的答案,也许您也可以尝试unix SE。