调整虚拟机以提高性能

调整虚拟机以提高性能
vm.bdflush = 100 1200 128 512 15 5000 500 1884 2
vm.dirty_ratio = 20
vm.dirty_background_ratio = 10
vm.swappiness = 10
vm.min_free_kbytes = 300000

这意味着 RAM 中最多可以包含 20% 的脏数据,并且 Linux 始终无法使用 300MB RAM 来缓存文件,对吗?

我试图做的是确保始终有空间供服务生成和使用 RAM。我有 8GB 的​​ RAM 并使用 PHP 托管网站,因此我希望有更多空闲 RAM 待命,而不是看到自己只有 50MB 的空闲 RAM。

我读到过非常低的 background_ratio 和更高的 dirty_ratio 性能更好?

答案1

你在想这个完全地错了。空闲的 RAM 对你没有好处。如果你有 300MB 的空闲空间,那只是意味着你只有 300MB不是使用。你应该想要小的释放尽可能多的 RAM,因为这意味着尽可能多的 RAM 可以做有用的工作。

您希望将min_free_kbytesRAM 调到尽可能低,以便能够使用 RAM,而不是让它闲置着。

您一定在想“我想要空闲的 RAM,以便以后使用”。但现在比以前晚了。如果您现在使用它,以后也可以使用它。如果您现在不使用它,那么您将永远失去现在使用它的机会。以后永远不会到来——永远是现在。现在使用 RAM。不要把它留到以后,因为以后您也会想把它留到以后。

这并不意味着你现在使用 4GB,以后就可以使用 12GB。如果你现在使用 7GB,那么 1GB 就浪费了。你希望尽可能少的可用 RAM,这样你的系统就可以从现有的 RAM 中获得最大的好处。不能节省 RAM。使用该 RAM 的机会现在必须立即使用,否则将永远丢失。

限制脏页确实有意义,因为脏页在内容写入磁盘之前不能用于其他用途。这可能会导致系统被迫低效使用 RAM 或执行大量 I/O。但是,我认为您真的不需要调整默认值。它们非常智能。

相关内容