我应该如何从顶部读取这些数字?内存去哪儿了?

我应该如何从顶部读取这些数字?内存去哪儿了?

我正在查看上面的这些数字:

Mem:   3891192k total,  3659276k used,   231916k free,    25640k buffers
Swap:  4449924k total,        0k used,  4449924k free,  1237416k cached

并努力查看 3659276k 都去了哪里。按内存排序的前几个进程如下:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
30228 myuser    25   0 2914m 2.2g 9908 S 13.3 59.6   4:59.05 java
26428 root      25   0 97580  17m 8024 S  0.7  0.5   0:35.89 slapd
 2897 root      15   0  6344 3512 1920 S  0.0  0.1   0:01.40 snmpd
 2771 haldaemo  18   0  5176 3308 2108 S  0.0  0.1   0:00.11 hald
31370 myuser    15   0  3576 2004 1224 S  0.0  0.1   0:00.01 bash
31367 root      16   0  6404 1932 1572 S  0.0  0.0   0:00.02 sshd
 2940 root      15   0  3176 1904 1272 S  0.0  0.0   0:00.15 bash
 2735 root      19   0  5800 1576  852 S  0.0  0.0   0:00.00 mount.smbfs
 2727 root      17   0  5796 1568  852 S  0.0  0.0   0:00.00 mount.smbfs
 2738 root      20   0  5796 1568  852 S  0.0  0.0   0:00.00 mount.smbfs
31369 myuser    15   0  6404 1212  852 R  0.0  0.0   0:00.00 sshd
31380 myuser    15   0  2308 1120  876 R  0.0  0.0   0:00.01 top
 2750 root      18   0  3824 1116  820 S  0.0  0.0   0:00.06 sshd
 2883 root      15   0  2488 1008  820 S  0.0  0.0   0:13.61 vmware-guestd
 2772 root      25   0  2868  992  860 S  0.0  0.0   0:00.00 hald-runner
 2783 root      15   0  2920  968  852 S  0.0  0.0   0:00.12 hald-addon-stor
 2781 myuser    25   0  2112  900  784 S  0.0  0.0   0:00.00 hald-addon-acpi

理论上,表格中的哪些数字应该加起来等于摘要中的数字?

答案1

它将由系统缓存使用。如果您运行该free命令,您将看到缓冲区/缓存已使用的内容。这没什么好担心的(这是正常的)。这只是内核试图有效使用您的可用内存。

答案2

java:59.6%内存,资源:2.2g

这意味着java占用了约 60% 的内存(实际上是 2.2g):某些 Java 应用程序中存在内存泄漏。

缓冲区仅占用大约 25MiB:

相关内容