我正在运行一个具有 1Gb RAM 的小型 Linux 虚拟机。
这是一个相当典型的 LAMP 设置,正常使用时大约占用 16% 的内存。
昨天我用盒子编译东西,内存上升到 60% 并且没有下降。
内存排序“top”除了 Mysql 和 Apache 之外不显示任何其他内容:
top - 09:41:33 up 4 days, 6:41, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 41 total, 1 running, 40 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 1048576 total, 640072 used, 408504 free, 0 buffers
KiB Swap: 131072 total, 0 used, 131072 free, 533872 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2042 mysql 20 0 385m 41m 7324 S 0.0 4.1 9:25.35 mysqld
1680 bind 20 0 117m 21m 2468 S 0.0 2.1 0:03.07 named
2155 root 20 0 191m 10m 4988 S 0.0 1.1 1:07.43 apache2
12507 www-data 20 0 192m 9740 3032 S 0.0 0.9 0:00.50 apache2
12505 www-data 20 0 192m 9728 3020 S 0.0 0.9 0:00.19 apache2
12481 www-data 20 0 192m 9652 2940 S 0.0 0.9 0:01.47 apache2
12508 www-data 20 0 192m 9648 2940 S 0.0 0.9 0:00.73 apache2
12499 www-data 20 0 192m 9640 2932 S 0.0 0.9 0:00.24 apache2
12509 www-data 20 0 192m 9636 2928 S 0.0 0.9 0:00.26 apache2
12564 www-data 20 0 192m 9624 2924 S 0.0 0.9 0:01.07 apache2
12563 www-data 20 0 192m 9600 2928 S 0.0 0.9 0:00.33 apache2
14624 www-data 20 0 191m 7492 1296 S 0.0 0.7 0:00.30 apache2
14629 www-data 20 0 191m 7352 1248 S 0.0 0.7 0:00.24 apache2
失踪的400兆到哪里去了?
这是我应该担心的事情还是只是等待我安排的每周重新启动?
为了清楚起见,“东西”是 Google Protocol Buffer,它不使用任何守护进程。
答案1
“丢失”的内存用作缓存(在top
以交换开头的行末尾的输出中提到)。您可以使用free
不同的形式来查看它:
$ free
total used free shared buffers cached
Mem: 1048576 640072 408504 0 0 533872
-/+ buffers/cache: 106200 942376
Swap: 131072 0 131072