如何汇总使用的总内存?我应该使用 RES 列还是 VIRT 列?以下是top
我系统中的输出。
Mem: 5859244k total, 5657732k used, 201512k free, 80980k buffers
Swap: 6144852k total, 100k used, 6144752k free, 5147836k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1704 verde 21 0 1228m 59m 18m S 0.3 1.0 0:14.79 java
27623 verde 16 0 941m 36m 11m S 0.0 0.6 0:12.43 java
27250 oracle 15 0 310m 16m 15m S 0.0 0.3 0:00.11 oracle
2791 root 34 19 251m 15m 2232 S 0.0 0.3 0:03.72 yum-updatesd
27248 oracle 16 0 310m 10m 9644 S 0.0 0.2 0:00.50 oracle
27246 oracle 15 0 315m 10m 9028 S 0.0 0.2 0:00.11 oracle
27252 oracle 18 0 310m 10m 9460 S 0.0 0.2 0:00.02 oracle
27622 verde 25 0 213m 10m 6128 S 0.0 0.2 0:01.07 rmiregistry
27244 oracle 15 0 312m 9552 7032 S 0.0 0.2 0:00.09 oracle
27242 oracle 15 0 311m 8472 7136 S 0.0 0.1 0:00.37 oracle
27264 oracle 18 0 310m 7152 5712 S 0.0 0.1 0:00.02 oracle
27266 oracle 18 0 310m 7152 5712 S 0.0 0.1 0:00.02 oracle
27262 oracle 18 0 310m 7148 5712 S 0.0 0.1 0:00.01 oracle
27268 oracle 18 0 310m 7144 5708 S 0.0 0.1 0:00.02 oracle
27278 oracle 15 0 314m 7144 6068 S 0.0 0.1 0:00.05 oracle
27270 oracle 18 0 310m 7132 5692 S 0.0 0.1 0:00.02 oracle
27274 oracle 18 0 310m 7128 5688 S 0.0 0.1 0:00.02 oracle
27276 oracle 18 0 310m 7128 5692 S 0.0 0.1 0:00.02 oracle
27272 oracle 18 0 310m 7124 5688 S 0.0 0.1 0:00.02 oracle
27280 oracle 18 0 314m 7064 6016 S 0.0 0.1 0:00.02 oracle
27256 oracle 18 0 311m 6976 5724 S 0.0 0.1 0:00.01 oracle
27258 oracle 18 0 311m 6972 5724 S 0.0 0.1 0:00.01 oracle
27254 oracle 18 0 311m 6968 5720 S 0.0 0.1 0:00.03 oracle
27260 oracle 18 0 311m 6936 5688 S 0.0 0.1 0:00.02 oracle 2725 haldaemo 15 0 30640 3844 1696 S 0.0 0.1 0:06.76 hald
答案1
最简单的输入是:
free -m
(其中 m 表示以兆字节为单位的输出,g 表示千兆,等等......)
plop@pouet:~$ free -m
total used free shared buffers cached
Mem: 1994 1729 264 0 491 703
-/+ buffers/cache: 534 1459
Swap: 509 33 476
答案2
我都不会用。在上面的例子中,VIRT 是进程所需的虚拟内存量,RES 是进程特定的常驻内存量,SHR 是两个或多个进程之间共享的内存量。因此,使用 top 解析系统中使用的基本内存量有点困难。
您可以使用标题信息并执行以下操作:
base-memory-use = used - buffers - cached
缓冲区和缓存内存是动态变化的。基本上,Linux 系统会尝试使用所有可用内存来提高系统速度。备用内存用于缓冲区和缓存,但当进程需要这些内存时,这些区域会根据需要缩小。