【问题标题】:How to get memory "used" by a process in Linux? [duplicate]如何让 Linux 中的进程“使用”内存? [复制]
【发布时间】:2013-05-19 07:57:09
【问题描述】:

我的程序想要检测它正在使用多少内存并在它超过阈值时发出警告。我不关心已分配但从未访问过的内存,因为它不受 RAM 或交换的支持。如何获得我的进程使用的总 RAM + 交换? “驻留集大小”是否包括交换?

编辑:正如其他人指出的那样,获得常驻大小很容易,但不包括交换。所以这个问题实际上是关于如何获取进程使用的交换量。

【问题讨论】:

  • 有一个 good question 关于那个
  • 使用proc(5)文件系统,尤其是/proc/self/stat
  • 该问题不提供交换,并且从 man 5 stat 开始,不维护 nswap 和 cnswap 字段。关于在哪里获得交换还有其他想法吗?

标签: linux memory


【解决方案1】:

已经有一个关于这个的帖子:How to get memory usage at run time in c++?

查看此页面:How to get the resident set size

RSS 是 RAM 部分,不包括交换和卸载。

【讨论】:

  • 谢谢,那些回答了一半的问题,即从哪里获得 RSS。他们没有告诉我如何获得交换。
  • @Downvoter 为什么要投反对票?
  • @MartinC.Martin 是的。我只知道如何获取 RSS :P
猜你喜欢
  • 2011-06-06
  • 2021-10-30
  • 1970-01-01
  • 2014-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-03
  • 1970-01-01
相关资源
最近更新 更多