解决cpu io waitTime100%

今天收到了阿里云的ECS短信报警,内存占用率到90%,因为已经报警好几天,已经要迁移ECS机器,所以就没有在意。直到看到ZABBIX的监控的报警,显示cpu io waitTime 异常,看来问题需要解决才行。
这里写图片描述

这里写图片描述

使用iotop命令查看那个进程是引起cpu io waitTime的罪魁祸首,发现kswapd0 占用了99.99%

kswapd0 是个什么东西?

Linux uses kswapd for virtual memory management such that pages that have been recently accessed are kept in memory and less active pages are paged out to disk.

(what is a page?)…Linux uses manages memory in units called pages.

So,the kswapd process regularly decreases the ages of unreferenced pages…and at the end they are paged out(moved out) to disk

译文

它是虚拟内存管理中,负责换页的,操作系统每过一定时间就会唤醒kswapd ,看看内存是否紧张,
如果不紧张,则睡眠,在 kswapd 中,有2 个阀值,pages_hige 和 pages_low,
当空闲内存页的数量低于 pages_low 的时候,kswapd进程就会扫描内存并且每次释放出32free 
pages,直到 free page 的数量到达pages_high。

需要给服务器留有一定空间的物理内存,太满不进会唤起kswapd ,对其他程序也会因为没有扩展物理内存,没法应对突发情况。

猜你喜欢

转载自blog.csdn.net/sunyuhua_keyboard/article/details/81002036