Process Working Set Info in LINUX
我在proc文件夹中找到进程的工作集大小
这个链接说我可以在/ proc中找到工作集大小,但我不知道怎么知道。我知道RSS是工作集大小,但RSS与工作集大小不同我可以使用/proc/[pid]/statm
了解工作集大小吗?
答案 0 :(得分:3)
我不相信/ proc / [pid] / statm会为此提供WSS或/ proc / [pid] / status。
WSS是一个进程在内存中需要保持"工作的页数。#/ p>
RSS是实际驻留在主内存中的进程的页数。
所以RSS> = WSS。这意味着RSS可能包含一些过程目前并不真正需要的页面。也许它过去曾使用那些过时的页面。
根据我对linux内部的理解,内核并没有真正跟踪每个进程的WSS。 WSS太过牵扯,不能连续跟踪,也没有精确的公式。 RSS更容易计算,因此内核只会报告。
请注意,如果所有进程的WSS总和大于或等于主内存大小(即系统正在颠簸或接近颠簸),则RSS等于WSS,因为只有进程绝对需要的页面保留在主要记忆。知道了吗?
答案 1 :(得分:2)
RSS(驻留虚拟大小)是此进程当前在主内存(RAM)中的内存量。 VSZ(虚拟大小)是进程总共有多少虚拟内存。
根据您的问题,我相信您是在虚拟大小之后,即总内存使用量。
关于DetailViewController
- 来自Linux联机帮助页:
statm
所以你需要第一个整数,它将返回使用的总页数。但是,如果您需要更易读的输出,proc/[pid]/statm
Provides information about memory usage, measured in pages. The columns are:
size (1) total program size
(same as VmSize in /proc/[pid]/status)
resident (2) resident set size
(same as VmRSS in /proc/[pid]/status)
share (3) shared pages (i.e., backed by a file)
text (4) text (code)
lib (5) library (unused in Linux 2.6)
data (6) data + stack
dt (7) dirty pages (unused in Linux 2.6)
将提供以千字节为单位的信息。例如:
status
这意味着进程29262使用5980 kB,其中1736个驻留在RAM中。