使用“top”显示每个进程的绝对内存使用情况

使用“top”显示每个进程的绝对内存使用情况

默认情况下,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 列中的值。

相关内容