mysql 交换空间_Linux为什么你几乎总是要添加交换空间

即使Linux系统有足够的RAM,交换空间仍能提供性能优势。它允许内核将不常使用的内存页移至交换,释放更多空间用于缓存。适度的交换使用可以防止突发的低内存情况,给管理员反应时间。然而,过大的交换空间可能导致性能问题。理想的交换大小通常是最大进程大小,或者根据应用需求适当调整。
摘要由CSDN通过智能技术生成

我们知道使用交换空间而不是RAM(内存)会严重降低Linux的性能。那么,有人可能会问,因为我有足够的可用内存,完全删除交换空间不是更好吗?简短的回答是,不会。即使你有足够的RAM,在启用交换时也会有性能优势。

57d22aecb5a84012181126e785ef34c7.png

Linux

如果安装了足够多的服务器内存,您会经常发现在长时间运行后,将使用交换空间。从实时聊天服务器中查看以下示例:

efacec02b9c0566ebdf3d414b9a6ce76.png

交换空间

这里free-h的输出显示了308M的交换空间。当我运行交换检查时,没有任何持续或不及时交换I/O活动的迹象。此外,kswap服务不会消耗太多CPU时间。实际上,kswap进程无法在顶部找到(按CPU时间排序的顶级进程)。要确认我使用了以下命令:

6b8e21420a585e31041bf6e063c89254.png

交换空间

所以在这种情况下,交换使用不会损害Linux服务器性能。但让我们来看看交换空间如何真正帮助 Linux服务器性能。

具有足够RAM的系统上交换空间的优点

96cef19dc8298d1768e4f6aa2c4933f5.png

交换空间

这是正常的,对于Linux系统来说,使用某些交换是一件好事,即使仍有可用的RAM。Linux内核将移动几乎没有用于交换空间的内存页,以确保内存中更多可缓存的空间可用于更频繁使用的内存页(页面是一块内存)。当内核被迫加压内存页进出内存和交换空间时,交换使用会成为性能问题。

另一个优点是交换使管理员有时间对低内存问题作出反应。我们经常会注意到服务器缓慢行动并且在登录时会注意到大量交换。没有交换(如下一节所述)内存不足可能会产生更多突然和严重的连锁反应。所以通常我建议将交换空间设置为大小最大进程的大小。例如,MySQL在my.cnf中配置了内存。它甚至可以更小。特别是如果您有适当的监控和/或警报。

有人建议没有比总RAM略大的交换或交换大小。如果你能提出正确的理由,那么这可能是你的选择。但是,在服务器上,情况并非如此,您应该根据交换对特定应用程序的影响来平衡您的决定。交换不会改变健康服务器或桌面所需的RAM量。它旨在与健康系统的性能互补。

总结一下:

-即使仍有可用的RAM,Linux内核也会将几乎没有用过的内存页移动到交换空间中。

-最好换掉一段时间不活动的内存页面,将经常使用的数据保存在缓存中,这应该在服务器空闲时发生,这是内核的目标。

-如果导致延长性能问题,中断或响应时间(没有适当的监控/警报),请避免将交换空间设置得过大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值