tmpfs 和 vm.swappiness

Mac*_*tka 7 linux memory swap virtual-memory tmpfs

我已经开始在我的系统上调整一点 Linux VM 性能(是的。我知道 vm.swappiness=0 会杀死小猫,但我发现 30-40 对我来说更好,因为它改善了我的延迟 - 可能以吞吐量为代价)。我想问一下 tmpfs 是如何计算的(是缓存还是程序)以便交换和vm.swappiness.

为了提供更高级别,我需要一个文件夹:

  • 通常是空的,但使用量可能会增加到我的主内存大小的 8 倍
  • 不需要保留有关重新启动的信息
  • 就 I/O 而言是低优先级(即使用它的程序可能会等待)但如果它很快就好了

目前我使用的是普通FS。我听说(未测试)关于大型 tmpfs 在交换上推送数据的问题。由于我假设测试是在默认情况下完成的,vm.swappiness=60而 tmpfs 只是仅占用缓存,因此减少的内容vm.swappiness将使其在内存压力期间更容易交换。我对么?

psu*_*usi 5

tmpfs 被实现为缓存页面,因此较低的 vm.swappiness 值将使 tmpfs 文件更有可能被换出,因为系统更倾向于窃取缓存页面而不是应用程序页面。