大量内存但仍在交换

Meh*_*izi 0 mysql memory swap

这是我的服务器内存图 在此处输入图片说明

您可以在图中看到,每次我重新启动 mysqld 时,swap 都会变为零。但随着时间的推移而增加。
如果我将 innodb 缓冲池放在大尺寸交换中,则上升速度会更快,如果我降低它,则交换上升会更慢。

在此处输入图片说明

Gra*_*ant 6

您没有提到任何性能问题,只是说它正在使用交换。

这是完全正常的。

如果 RAM 中有很少使用的东西,内核会将它们交换出来,为经常使用的缓存腾出更多空间。

这可以通过 vm.swappiness 内核参数进行调整,但通常它可以正常工作,将其调整为不使用交换通常会使性能更差,而不是更好。在这个问题中可以找到关于调整内容的一个很好的解释:https : //unix.stackexchange.com/questions/32333/what-does-the-vm-swappiness-parameter-really-control

多少交换是可以的,一个问题有多少信号取决于很多因素——你真的只能通过在调整swappiness后查看一段时间的性能指标来判断。这将取决于底层磁盘的速度、后台进程唤醒的频率、使用该 RAM 进行缓存与将内容保存在 RAM 中节省了多少磁盘 IO。所有这些都取决于您的硬件和工作负载。