我的系统越来越慢,尤其是当我使用 Firefox / Chromium 等浏览器和虚拟机时。我注意到我至少有 3.2 GB 的可用 RAM(使用 Gnome 系统监视器),并且没有交换。
我现在所做的是swapoff -a
系统性能提高了 30%。所以我的问题是:使用它安全吗swapoff
?我的电脑用它重启安全吗swapoff
?
答案1
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
swapoff -a
您还可以通过运行然后以 root身份清除交换,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
所以总数是 3950 / 100 = 39.5 * 10 = 395
那么这意味着当10%剩余 395 MB 内存,然后开始使用 swapiness
答案2
可能吧。你应该阅读 Ubuntu 的“为什么我需要交换”部分常见问题解答页面在这里,并自行判断。
如果你看重速度而不是安全网交换所能提供的速度,那么你应该禁用它
如果您从不暂停到磁盘并且总是关闭并重新启动,则可以安全地禁用它。
如果您有大量 RAM(您的 4GB + 正在运行的虚拟机是接近的),那么您可以。
对我来说,我的操作系统安装在 SSD 上,8GB RAM,从不暂停。我不需要交换,从未见过有人使用它,我只是出于习惯在安装时设置它。
另外,这里有一个针对 Firefox 的 about:config 调整来自 Lifehacker解释了如何仅将 RAM 用于浏览器缓存。在尝试之前,请先阅读文章底部链接的反驳。
答案3
不,这并不安全。原因是当系统内存不足且无法交换任何内存时,系统可能会冻结,除了硬重置外没有其他恢复机会。这不仅仅是能否暂停的问题。
来源:我的 14.04 就是这样的。
您应该保留最少量的交换空间,看看Ubuntu 常见问题解答表示数字。