代码改变世界

记录一则exachk进程占用大量CPU资源

2023-01-17 12:53  AlfredZhao  阅读(94)  评论(1编辑  收藏  举报

有Exadata客户在进行exachk巡检之后反馈,发现系统中,exachk进程占用了大量CPU资源。
了解之前的变更,只是巡检之前升级了AHF,然后进行标准的exachk巡检。

现象:

目前机器整体CPU使用率是20%+,但被使用到的具体CPU core基本都是满负荷,都是这些exachk进程,这些进程初步判断的确是有异常,正常不会运行这么久都不结束。

解决:

尝试方案1:

首先,依据 文档 How to disable TFA autostart on Exadata (Doc ID 2516169.1)

# /etc/init.d/init.tfa shutdown
# /etc/init.d/init.tfa disable

关闭了tfa服务之后,发现进程依然存在。

尝试方案2:

可以尝试正常停止,先启动tfa,使用tfactl尝试将exachk进程停止:

/etc/init.d/init.tfa enable
/etc/init.d/init.tfa start
tfactl stop exachk

验证进程是否停止成功:

ps -ef|grep exachk

发现进程依然存在。

尝试方案3:

没办法,只能采用强行kill的方式,反复确认需要kill的进程PID信息,均是exachk,然后进行kill:

kill -9 xxxxxx
kill -9 xxxxxx
...

这样就完成 kill 所有异常exachk进程,CPU使用率也随之恢复正常。

目前tfa服务也保持启动状态,为了后续再观察,如有问题复现再具体分析。

总结:

针对异常的进程可以kill,但是需反复确保要操作kill的进程完全不会影响到正常生产运行。