systcl.conf 中忽略了 Swappiness 设置在

systcl.conf 中忽略了 Swappiness 设置在

我的 Dell XPS 15 上装有 8GB RAM 的 Ubuntu 12.04 x64,运行速度非常慢。

经过一番搜索,我偶然发现了有关 swappiness 的帖子。我注意到,我的系统上的 swappiness 报告为 0,这意味着交换应该只在内存全部使用时才开始,但实际上它的行为与 swappiness 为 60 时的行为非常相似。

我使用以下命令将 swappiness 设置为 10:

echo 10 > /proc/sys/vm/swappiness

并更新/etc/sysctl.conf

vm.swappiness = 10

重启后,我注意到 swappiness 再次报告为 0,且性能同样低迷。我运行了 echo 10 > /proc/sys/vm/swappiness,性能显著提高。

我再次重启并检查 swappiness,它再次报告为 0。我执行sudo sysctl -p并看到值生效sysctl.conf

看来,/etc/sysctl.conf在启动时该值被忽略了。

我有一台装有 Ubuntu 12.04 32 位的笔记本电脑,我也应用了相同的配置。在笔记本电脑上,更改确实按预期生效,并在重启后保留。

有人遇到过这种问题吗?我该如何解决?

答案1

尝试这个:

启动终端仿真器并运行

cd /etc/sysctl.d/
echo "vm.swappiness = 10" | sudo tee 60-memory-management.conf
sudo chmod 644 60-memory-management.conf

重新启动并检查新值是否正在使用:

cat /proc/sys/vm/swappiness`

答案2

我刚刚在 /etc/rc.local 中输入了以下内容

sysctl -w vm.swappiness=1 #Discourage swapping.

sudo sysctl -w vm.swappiness=1基本上,您可以随时运行此命令:更改 swappiness.. cat /proc/sys/vm/swappiness 之后给出 1。

相关内容