1

分析和避免由内核交换守护程序引起的高负载出现的最佳实践是什么?缓冲池大小等的MySQL配置是否有直接影响?

4

1 回答 1

1

在稳定的 Linux 系统中,几乎不应该使用交换文件,一旦使用它,您的系统就会变得缓慢。oom_killer它的存在有三个原因,过度使用会计(现在不再适用),将未使用的代码段交换到磁盘以为磁盘缓冲区腾出更多空间,并在开始前内存不足时给您更多警告终止您的应用程序。

MySQL 出于各种原因绕过了内核的内置磁盘缓冲。当它启动时,它会分配缓冲池并从那里的磁盘缓存页面。当缓冲池已满时,它会删除一些干净的页面,并写出一些脏页以腾出更多空间。

如果您将缓冲池设置为大于可用的 RAM 量,那么当 RAM 填满时,内核将开始将页面换出到交换文件。当缓冲池填满时,MySQL 将开始将页面换出到数据库文件。这将导致抖动并且通常性能不佳,因为您的所有 I/O 操作都将乘以(至少)三倍。

这很可能是您所看到的,我建议您减小缓冲池的大小,使其适合您的空闲 RAM。

于 2012-09-23T12:05:53.233 回答