linux – 为什么在剩余大量可用内存时使用Swap?

linux – 为什么在剩余大量可用内存时使用Swap?,第1张

概述我有非常好的web(专用)服务器,具有良好的内存资源: System informationServer load 2.19 (8 CPUs) Memory Used 29.53% (4,804,144 of 16,267,652) Swap Used 10.52% (220,612 of 2,097,136) 如您所见,当有足够的可用内存时,我的服务器正在使用 我有非常好的web(专用)服务器,具有良好的内存资源:
System informationServer load     2.19 (8 cpus)   Memory Used     29.53% (4,804,144 of 16,267,652)    Swap Used   10.52% (220,612 of 2,097,136)

如您所见,当有足够的可用内存时,我的服务器正在使用swap.

这是正常的还是配置或编码有问题?

注:
由于某种原因,我的MysqL进程使用了​​超过160%的cpu功率;我不知道为什么,但我没有超过70个同时用户…

解决方法 这是完全正常的.

在系统启动时,会启动许多服务.这些服务初始化自己,读入配置文件,创建数据结构等.他们使用一些记忆.由于您没有使用它们,因此许多这些服务在系统启动的整个过程中都不会再次运行.其中一些可能会在数小时,数天或数周内运行.然而,所有这些数据都在物理内存中.

当然,系统不能抛弃这些数据.它无法证明它永远不会被访问.例如,其中一项服务可能是为您提供远程访问框的服务.您可能在一周内没有使用它,但如果您使用它,它可以更好地工作.

但是系统知道它可能喜欢将这种物理内存用于磁盘缓存之类的东西,或者以其他方式来提高性能.所以它做机会主义交换.如果没有更好的办法,它会使用交换空间将很长时间未使用过的数据写入磁盘.但是,它仍然将页面保留在物理内存中.因此,仍然可以访问它们而无需交换它们.

现在,如果系统稍后需要该物理内存用于其他内容,它可以简单地将这些页面丢弃,因为它已经将它们写入交换.这为系统提供了两全其美的优势.数据仍保留在内存中,因此无需从磁盘读取即可访问它.但是,如果系统需要该内存用于其他目的,则不必先将其写出来.四处大赢.

总结

以上是内存溢出为你收集整理的linux – 为什么在剩余大量可用内存时使用Swap?全部内容,希望文章能够帮你解决linux – 为什么在剩余大量可用内存时使用Swap?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1046264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存