【问题标题】: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 命令

【问题讨论】:

标签: c++ c linux


【解决方案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 和总大小

      【讨论】:

        猜你喜欢
        • 2013-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        相关资源
        最近更新 更多