默认情况下,top
将为每个进程显示该进程使用的物理内存的比例:
top - 12:39:34 up 87 days, 18:25, 3 users, load average: 4.73, 4.89, 4.23
Tasks: 255 total, 2 running, 242 sleeping, 0 stopped, 11 zombie
%Cpu(s): 38.2 us, 37.2 sy, 0.0 ni, 2.8 id, 13.4 wa, 0.0 hi, 8.4 si, 0.0 st
MiB Mem : 3916.2 total, 132.1 free, 3659.9 used, 124.2 buff/cache
MiB Swap: 4096.0 total, 2127.0 free, 1969.0 used. 78.2 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
28095 michi 20 0 4428340 2.5g 4604 S 109.5 66.5 2555:15 rslsync
425 root 1 -19 0 0 0 D 14.4 0.0 851:42.04 z_wr_iss
143 root 20 0 0 0 0 D 3.9 0.0 114:08.83 usb-stora+
418 root 0 -20 0 0 0 S 3.3 0.0 541:53.24 z_rd_int
421 root 0 -20 0 0 0 S 3.3 0.0 541:54.99 z_rd_int
422 root 0 -20 0 0 0 S 3.3 0.0 541:49.18 z_rd_int
我怎样才能显示该列中每个进程使用的绝对内存量(即MEM% * <total physical memory>
)?例如:
[...]
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
28095 michi 20 0 4428340 2.5g 4604 S 109.5 3.1g 2555:15 rslsync
425 root 1 -19 0 0 0 D 14.4 4k 851:42.04 z_wr_iss
[...]
答案1
每个进程消耗的 RAM 量在“RES”(驻留内存大小)列中指示。引用手册页:
虚拟地址空间 (VIRT) 的子集,表示任务当前使用的非交换物理内存。
以“rslsync”进程为例,总内存 (3916.2 MiB) 的 66.5% 为 2604.3 MiB,即 2.5 GiB。这是 RES 列中的值。