CPU 跑满或跑高的分析处理
CPU 的跑满或跑高,在确认具体的进程结果后,针对异常的进程,您需要通过 top 命令将其终止;而对于 kswapd0 进程导致的内存不足等问题,您需要对系统进行规格的升级或程序的优化。
使用 top 直接终止 CPU 消耗较大的进程
您可以直接在 top 运行界面快速终止相应的异常进程。操作步骤如下:
-
若您想要终止某个进程,只需按下小写的 k 键。
-
输入想要终止的进程 PID (top 输出结果的第一列)。例如,若您想要终止 PID 为 86 的进程,输入 86 后按回车即可。
-
操作成功后,界面会出现类似 Send pid 86 signal [15/sigterm] 的提示信息。按回车确认即可。
kswapd0 进程占用导致 CPU 较高
操作系统都用分页机制来管理物理内存,系统会把一部分硬盘空间虚拟成内存使用。由于内存的速度要比磁盘快得多,所以系统要按照某种换页机制将不需要的页面换到磁盘中,将需要的页面调到内存中。
kswapd0 是虚拟内存管理中负责换页的进程,当服务器内存不足的时候 kswapd0 会执行换页操作,这个换页操作是十分消耗主机 CPU 资源的。操作步骤如下:
-
通过 top 命令查看 kswapd0 进程。
-
检查该进程是否持续处于非睡眠状态,且运行时间较长。若是,可以初步判定系统在持续地进行换页操作,kswapd0 进程占用了系统大量 CPU 资源。
-
您可以通过 free 、ps 等指令进一步查询系统及系统内进程的内存占用情况,做进一步排查分析。
-
针对系统当前内存不足的问题,您可以重启 Apache,释放内存。
说明:从长远的角度来看,您需要对内存进行升级。
-
https://help.aliyun.com/knowledge_detail/52566.html