总内存使用量

总内存使用量

如何汇总使用的总内存?我应该使用 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 系统会尝试使用所有可用内存来提高系统速度。备用内存用于缓冲区和缓存,但当进程需要这些内存时,这些区域会根据需要缩小。

相关内容