Linux VPS 上令人困惑的 RAM 使用指标

Linux VPS 上令人困惑的 RAM 使用指标

首先,我知道 Linux 如何使用内存进行磁盘缓存(http://www.linuxatemyram.com/),但这似乎有些不同。

首先,我运行 htop。所有正在运行的进程的总内存使用量 %s 刚好超过 50%,当我将所有正在运行的进程的实际内存使用量加起来时,结果也是一样的。但是,htop 列出的我的内存使用量为 1381/1536MB。

环顾四周,我发现我应该检查 free -m,看看我的一些内存是否被用于磁盘缓存。唉,free 只显示以下内容:

             total       used       free     shared    buffers     cached
Mem:          1536       1381        154          0          0          0
-/+ buffers/cache:       1381        154
Swap:            0          0          0

我现在很困惑。这些额外的内存都用到哪里去了?Linux 是不是“吃掉了我的 RAM”?

编辑:抱歉造成一些混淆,此 VPS 在 OpenVZ 上运行。

答案1

您的交换分区已禁用。如果您确实配置了交换分区,则使用

swapon -a

以启用它。如果您忘记创建交换分区,那么您可能应该创建并激活它。

dd if=/dev/zero of=/swap bs=1M count=1024

其中 1024 表示您需要多少交换内存。对于台式机系统,我建议您使用两倍的内存。现在您应该“格式化”交换文件。

mkswap /swap

现在你应该启用它:

swapon /swap

现在运行 free -m 您应该会看到免费的交换。

如果希望在启动时启用交换,请在 /etc/fstab 中添加以下行

/swap       none    swap    sw      0       0

如果您仍然有可用磁盘,则配置一个交换分区并重新运行我的 mkswap 指令并使用分区的 id 更改 /swap。

相关内容