1
我正在尝试获取运行在LINUX上的C++应用程序中给定PID的内存工作集值。在Windows中,我可以使用GetProcessWorkingSetSize
函数获取此信息。有什么可以在LINUX中调用的函数吗?LINUX中的进程工作集信息
我正在尝试获取运行在LINUX上的C++应用程序中给定PID的内存工作集值。在Windows中,我可以使用GetProcessWorkingSetSize
函数获取此信息。有什么可以在LINUX中调用的函数吗?LINUX中的进程工作集信息
想到的唯一明智的解决方案是通过/proc
文件系统访问相关信息。看起来很奇怪,一个进程将不得不从/proc
中读出它自己的信息,但我不知道任何其他系统调用可能会使这个更容易。
你可能最感兴趣的是位于/proc/[pid]/statm
的信息,其中包括:
请记住,所有这些测量都是以页数的形式给出的。
请注意'/ proc/[pid]/status'以可读的形式提供此信息 – Nemo 2012-01-29 23:24:10
谢谢。这说得通。有没有我可以调用的函数而不是读取/ proc条目? Sysctl是最强烈的嫌疑犯,但我找不到任何方法来获取特定进程的内存信息。 – 2012-01-30 14:31:08