【发布时间】:2013-05-19 07:57:09
【问题描述】:
我的程序想要检测它正在使用多少内存并在它超过阈值时发出警告。我不关心已分配但从未访问过的内存,因为它不受 RAM 或交换的支持。如何获得我的进程使用的总 RAM + 交换? “驻留集大小”是否包括交换?
编辑:正如其他人指出的那样,获得常驻大小很容易,但不包括交换。所以这个问题实际上是关于如何获取进程使用的交换量。
【问题讨论】:
-
有一个 good question 关于那个
-
使用proc(5)文件系统,尤其是
/proc/self/stat -
该问题不提供交换,并且从 man 5 stat 开始,不维护 nswap 和 cnswap 字段。关于在哪里获得交换还有其他想法吗?