这是我的机器的“free -m”的输出,我不知道这是否意味着 RAM 不足:
root@mymachine:~# free -m
total used free shared buffers cached
Mem: 4048 3929 118 0 4 661
-/+ buffers/cache: 3263 784
Swap: 255 100 155
我还添加了以下顶部“命令”的输出:
top - 10:05:10 up 2:46, 1 user, load average: 1.76, 1.83, 1.76
Tasks: 80 total, 1 running, 79 sleeping, 0 stopped, 0 zombie
Cpu(s): 16.1%us, 4.0%sy, 0.0%ni, 51.9%id, 2.8%wa, 0.0%hi, 0.8%si, 24.4%st
Mem: 4145552k total, 4025128k used, 120424k free, 4812k buffers
Swap: 262140k total, 113196k used, 148944k free, 688328k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3904 root 20 0 2452m 2.1g 3964 S 111 53.9 56:31.72 java
1999 mysql 20 0 170m 33m 2660 S 76 0.8 36:14.09 mysqld
2420 root 20 0 2439m 944m 3636 S 1 23.3 8:02.11 java
9716 root 20 0 2464 1068 828 R 1 0.0 0:00.03 top
答案1
首先,“低”的定义有点主观,它取决于您还打算运行什么。
查看输出时要记住的一点free
是,第一行包含所有缓冲内容(如果需要更多内存,则会立即丢弃),这意味着您应该查看第二行以找到“实际”可用内存。在本例中,它是 784 MB(占总数的约 20%)。
如上所述,您的交换空间与您的 RAM 相比非常小,虽然现在实际上不需要将交换大小设为物理 RAM 的 2 倍这一旧建议,但我认为您最好使用更大的交换空间,特别是因为您还没有达到 RAM 的最大值。
对你的问题的真正答案是,这取决于具体情况!