gpt4 book ai didi

mysql - 太高的 MySQL innodb 缓冲池大小会导致内核交换守护进程 (kswapd0) 的高负载吗?

转载 作者:行者123 更新时间:2023-11-29 00:40:19 25 4
gpt4 key购买 nike

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

最佳答案

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

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

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

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

关于mysql - 太高的 MySQL innodb 缓冲池大小会导致内核交换守护进程 (kswapd0) 的高负载吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12550742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com