问题描述
我的系统越来越慢,特别是当我使用Firefox /Chromium和Virtual Machines等浏览器时。我注意到我有至少3.2 GB的可用RAM(使用Gnome系统监视器)并且没有交换。
我现在做的是swapoff -a
,系统系统性能提高了30%。所以我的问题是:使用swapoff
是否安全?使用swapoff
重新启动PC是否安全?
最佳解决办法
Linux内核提供了一个可调整的设置,可以控制交换文件的使用频率,称为swappiness
swappiness设置为零意味着除非绝对必要(内存不足),否则将避免磁盘,而swappiness设置为100意味着程序几乎会立即交换到磁盘。
Ubuntu系统默认值为60,这意味着如果内存使用量大约是我的RAM的一半,交换文件将被频繁使用。您可以通过运行以下命令检查自己系统的swappiness值:
one@onezero:~$ cat /proc/sys/vm/swappiness
60
因为我有4 GB的RAM,所以我想将其降低到10或15.然后交换文件将仅在我的RAM使用率大约为80或90%时使用。要更改系统swappiness值,请打开/etc/sysctl.conf as root
。然后,将此行更改或添加到文件中:
vm.swappiness = 10
重新启动以使更改生效
您还可以在系统仍在运行时更改该值
sysctl vm.swappiness=10
您还可以通过以root身份运行swapoff -a
然后再运行swapon -a
来清除交换,而不是重新启动以实现相同的效果。
计算您的掉期公式
free -m (total) / 100 = A
A * 10
root@onezero:/home/one# free -m
total used free shared buffers cached
Mem: 3950 2262 1687 0 407 952
-/+ buffers/cache: 903 3047
Swap: 1953 0 1953
so total is 3950 / 100 = 39.5 * 10 = 395
所以它的意思是,当剩下10%395 MB的RAM时,它开始使用交换
次佳解决办法
大概。您应该阅读Ubuntu FAQ page here中的“我为什么需要交换”部分,并自行判断。
如果您重视安全网交换可以提供的速度,则应禁用它
如果您永远不会挂起到磁盘并始终关闭并重新启动,则可以安全地将其禁用。
如果你有大量的RAM(你的4GB + VM运行是一个近距离通话),那么你可以。
对我来说,我的操作系统是SSD,8GB内存,永不停机。我不需要交换,从来没有看到它在使用中,我只是在安装时设置它的习惯。
作为替代方案,这里是针对Firefox from Lifehacker的about:config tweak,它解释了如何仅将RAM用于浏览器缓存。在尝试之前,请阅读文章底部链接的反驳。