我的电脑的swappiness设置为60。
cat /proc/sys/vm/swappiness
60
即便如此,仅当 PC 用完 RAM 时才会发生交换。因此,每次我填满 RAM 时,它都会在交换到 HDD 时停止响应一段时间。
我认为在交换 60 的情况下,大约 60% 的(全尺寸)RAM 将在交换时被镜像,因此在需要换出时它已经存在......但这不是我所经历的。
我在这里阅读了手册和许多不同的答案,但没有一个是关于在正确的值上进行交换和交换直到最后一刻才发生。
的内容free -h
total used free shared buff/cache available
Mem: 15G 9,9G 266M 4,7G 5,4G 508M
Swap: 30G 3,2G 27G
swapon
:
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 30,5G 3,5G -2
你的
free -h
节目...表示您有足够的 RAM 和 SWAP(您正在使用休眠)。
在交换方面调整系统是一个棘手的过程。
它涉及:
设置适当的交换空间有待大辩论。一般来说,交换空间应该是总 RAM 的 50-120%。在休眠配置中使用了大量的交换。
假设您有足够的 RAM 和交换空间,vm.swappiness 是一个可以调整的参数,以优化 RAM 与交换空间的使用。要查看当前设置:
它通常设置为 60。
要临时更改此设置:
其中 nn=0 到 100。
较低的设置会更多地使用 RAM 并减少交换。较高的设置会减少 RAM 使用并增加交换。
确定配置的最佳值后,要永久设置它,编辑
/etc/sysctl.conf
. 将此值添加到文件底部:我们已经确定 90 对您的使用来说物有所值。此设置可能会稍微降低系统速度,因为交换基于慢速磁盘 I/O。
然后重新启动。
Swappiness 只是内核用来计算交换趋势的一个参数。我阅读了手册,但无法找到它指出
/proc/sys/vm/swappiness
的某种阈值。关于这个主题,红帽知识库指出:
此外,Ask Ubuntu 中的另一个答案指出:
因此,我认为您对交换和交换的工作方式存在误解。