digdeep

凡是过去,皆是序幕。Read the fucking manual and source code.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

早上,遇到一起故障,调查显示kswapd0进程的内存使用率很高,系统负载从平时的0.x升高到了260多。

查到原因是,同事代码逻辑错误,不断的死循环向表里面添加数据,记录数达到了2.7千万。然后对该表 alter table add index xxx,导致了mysqld内存不断的膨胀,导致需要使用到了swap分区的虚拟内存,然后导致kswapd0进程的CPU使用率升高。

登录系统后,通过top命令查到kwsapd0的CPU使用很高,多次尝试用 kill -9 xxx 杀死改进程,但是无效。

 

kswapd0 占用过高是因为 物理内存不足,使用swap分区与内存换页操作交换数据,导致CPU占用过高

 

 

一两分钟之后,华为云平台监控到了系统异常,自动重启了操作系统。

后面重启应用和各中间件,清理超大表的数据。系统恢复正常。

 

posted on 2024-09-07 11:41  digdeep  阅读(640)  评论(0编辑  收藏  举报
不懂数据库和Web安全的架构师不是一个好的程序员。