c++ - 在 LINUX 中处理工作集信息

标签 c++ linux-kernel

我正在尝试获取在 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/

相关文章:

c++ - 为什么我得到 "Fatal error LNK1120: 1 unresolved externals"

c# - 如何防止windows mobile图片框闪烁

c++ - 将元素插入已排序的循环双链表

c++ - 如何从 C 或 C++ 调用 .pyc 函数?

linux - 如何拼接到socketfd上?

android - 纠结谷歌测试

tcp:3路握手在哪里实现

linux - 什么是真正的 pte(与 NUMA 中的迁移 pte 相对)

linux - Linux 内核模块的位置

c - 内核清零内存?