如何查找“进程”占用的大小/内存空间[重复]
Posted
技术标签:
【中文标题】如何查找“进程”占用的大小/内存空间[重复]【英文标题】:how to find size /memory space occupied by a "process" [duplicate] 【发布时间】:2014-06-25 09:04:33 【问题描述】:我被要求编写一个 c/cpp 程序来查找面试中任何进程的大小。谁能告诉我这是如何实现的?
p.s.- 在将 que 标记为重复之前 - 请仔细阅读:我已经询问过如何通过 c/cpp 程序 找到,而不仅仅是使用任何 unix/linux shell 命令
【问题讨论】:
使用pmap
?
已经有类似的问题了[这里][1][1]:***.com/questions/1558402/…
【参考方案1】:
它不是标准 C++ 的一部分,因此取决于操作系统。
例如在 linux 上通过访问 /proc
filesystem 来完成。
当然,另一种选择是调用像 ps
这样的系统命令并解析其输出(这就是我在 Python 脚本中所做的)。
然而,能够解释你能得到的数字是另一个重要的问题。
【讨论】:
【参考方案2】:您可以使用getrusage。但请记住,它并非在所有系统上都实现。
或者通过阅读/proc/[pid]/statm
否则,请尝试these 之一(命令行选项)。
【讨论】:
【参考方案3】:使用
size <executable>
输出
text data bss dec hex filename
1361623 1984 2708 1366315 14d92b <executable>
它显示文本、数据、bss 和总大小
【讨论】:
以上是关于如何查找“进程”占用的大小/内存空间[重复]的主要内容,如果未能解决你的问题,请参考以下文章