Fra*_*ios 6 process memory proc
我想知道 /proc 目录中的哪些文件以及这些文件的哪些字段需要计算给定 pid 的内存使用情况。我一直在使用该文件中的“stat”文件和“vsize”参数,但这不是一个很好的计算。任何人都知道一个更好的公式吗?谢谢,安娜。
Bas*_*tch 12
确实你需要使用/proc/
; 所以仔细阅读proc(5)。
对于进程 1234,您要读取/proc/1234/maps
(或/proc/1234/smaps
)以获取地址空间,并读取/proc/1234/status
&/proc/1234/statm
对于您自己的流程(以编程方式)使用/proc/self/maps
, /proc/self/status
,/proc/self/statm
请注意,内存使用在 Linux 上是一个非常含糊的术语。您如何计算mmap
由两个进程编辑的文件段?见mmap(2) & getrusage(2)
尝试cat /proc/self/maps
,cat /proc/$$/maps
在终端。阅读关于地址空间、虚拟内存、页面缓存、ASLR、ELF、RSS、工作集的维基页面……