我正在尝试获取在 LINUX 上运行的 C++ 应用程序中给定 PID 的内存工作设置值。在 Windows 中,我可以使用 GetProcessWorkingSetSize
函数获取此信息。我可以在 LINUX 中调用类似的函数吗?
最佳答案
想到的唯一明智的解决方案是通过 /proc
文件系统访问相关信息。不过,一个进程必须从 /proc
中读取自己的信息似乎很奇怪,但我不知道是否有任何其他系统调用可以使这更容易。
您可能最感兴趣的信息位于 /proc/[pid]/statm
中,其中包括:
- 程序总大小,
- 驻留集合大小,
- 共享页面,
- 文本(代码)大小,
- 库(在 Linux 2.6 中未使用),
- 数据和堆栈大小,
- 脏页(在 Linux 2.6 中未使用)。
请记住,所有这些测量值都是以页数给出的。
关于c++ - 在 LINUX 中处理工作集信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9057444/