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?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)