您可以按照nik的建议进行操作,并使用swapoff。但是,还有另一种更优雅的方式来调整“波动性”,即内核在运行2.6内核的系统中如何积极地将程序换出到磁盘。
在linux内核邮件列表上,关于内核应该遵循的交换行为政策引起了激烈的争论。结果是,我们现在在2.6内核中有一个补丁,可让我们在很大程度上调整此行为。
请注意,您需要具有root特权才能执行此操作,就像运行swapoff / swapon命令一样。
可以在/ proc / sys / vm / swappiness文件中或通过运行以下sysctl命令来检查“ swappiness”的当前值:
sudo sysctl vm.swappiness
“ swappiness”值的范围可以从0(不交换)到100(尽可能交换到磁盘)。Ubuntu出厂时默认的swappiness设置为60。
要为会话更改此设置,请再次调用sysctl并向其传递一个swappiness值以使用:
sudo sysctl vm.swappiness=30
除了免费之外,您当然可以通过出色的htop或iotop实用程序监视执行此操作的效果。
如果您喜欢所看到的内容,并且希望在重新启动后保留该值,只需将“ vm.swappiness = 30”放在/etc/sysctl.conf文件中。
$ sudo sysctl vm.swappiness
vm.swappiness = 30
$ sudo sysctl vm.swappiness=40
vm.swappiness = 40
$ sudo sysctl vm.swappiness
vm.swappiness = 40
$ sudo tail /etc/sysctl.conf
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#
# The contents of /proc/<pid>/maps and smaps files are only visible to
# readers that are allowed to ptrace() the process
# kernel.maps_protect = 1
vm.swappiness=30
您可以使用不同的值,直到找到需要在机器上进行可接受的交换级别的值。