我已经开始在我的系统上调整一点 Linux VM 性能(是的。我知道 vm.swappiness=0 会杀死小猫,但我发现 30-40 对我来说更好,因为它改善了我的延迟 - 可能以吞吐量为代价)。我想问一下 tmpfs 是如何计算的(是缓存还是程序)以用于交换和vm.swappiness
.
为了提供更高的级别,我需要一个文件夹:
- 通常是空的,但使用量可能会增加到主内存大小的 8 倍
- 不需要保留关于重启的信息
- 就 I/O 而言优先级较低(即使用它的程序可能会等待),但如果速度快那就太好了
目前我用的是普通的FS。我听说(未经测试)有关大型 tmpfs 将数据推送到交换区的问题。由于我假设测试是在默认情况下完成的vm.swappiness=60
,并且 tmpfs 仅占用缓存,因此减少vm.swappiness
将使其在内存压力期间更容易交换。我对么?
答案1
tmpfs 是作为缓存页面实现的,因此 vm.swappiness 的值较低将使 tmpfs 文件更有可能被换出,因为系统会倾向于窃取缓存页面而不是应用程序页面。