在LINUX中处理工作集信息
Process Working Set Info in LINUX
我正在尝试获取在LINUX上运行的C++应用程序中给定PID的内存工作集值。在Windows中,我可以使用GetProcessWorkingSetSize
函数获取这些信息。在LINUX中,有什么类似的函数可以调用吗?
想到的唯一合理的解决方案是通过/proc
文件系统访问相关信息。不过,进程必须从/proc
中读取自己的信息似乎很奇怪,但我不知道还有什么其他系统调用可以让这更容易。
您可能最感兴趣的信息位于/proc/[pid]/statm
中,其中包括:
- 总程序大小
- 驻留集大小
- 共享页面
- 文本(代码)大小
- 库(在Linux 2.6中未使用)
- 数据和堆栈大小
- 脏页(在Linux 2.6中未使用)
请记住,所有这些测量都是以页数表示的。
相关文章:
- 编译在我的 Mac 上工作,但在集群 (Linux) 上不起作用
- scanf() 语句中"%*[^n]"的格式字符串指示什么?分配抑制器 (*) 和否定扫描集 ([^) 如何协同工作?
- 参数传递和返回值如何在程序集级别的 x86 上的 C/C++ 中工作?
- 将数据集几乎平均分配给工作线程
- 现代 OpenGL 多维数据集旋转未按预期工作
- 主 - Embarcadero C++生成器 10.2 中的详细信息数据集
- 混合模式程序集(C++/CLI项目)在.NET Core上工作吗
- C++:位集无法正常工作
- 通过无序集访问类数据无法正常工作
- 使用 c# 和非托管 DLL 时出现堆集信息错误
- 当试图在C++eclipse工作区中导出一个团队集(5个项目)时,项目列表是空的
- 多集是如何工作的,以及如何在多集中找到最小元素
- 类的详细信息:设计一组协同工作的类时出错
- 在LINUX中处理工作集信息
- 编辑C++/程序集调试器的源代码以包含其他程序集信息
- 比特集是如何真正工作的
- 这些代码是如何工作的?(多集排序)
- 哈希集搜索函数不工作c++
- 模块信息不能与DEBUG_PROCESS一起工作
- 堆大小(由 umdh 报告)和(私有)工作集(由任务管理器报告)之间的差异的原因是什么