弹性云服务器 ECS-Linux云服务器卡顿怎么办?:CPU使用率高问题处理

时间:2023-11-01 16:25:14

CPU使用率高问题处理

对于导致CPU使用率高的具体进程,如果确认是异常进程,可以直接通过top命令终止进程。对于kswapd0进程导致的CPU使用率高的问题,则需要对应用程序进行优化,或者通过增加内存进行系统规格的升级。

kswapd0是系统的虚拟内存管理程序,如果物理内存不够用,系统就会唤醒kswapd0进程,由kswapd0分配磁盘交换空间用作缓存,因而占用大量的CPU资源。
  • 使用top命令终止CPU占用率高的进程

    您可以直接在top运行界面快速终止相应的异常进程。操作步骤如下:

    1. 在top命令运行的同时,按下小写的“k”键。
    2. 输入要终止进程的PID。

      进程的PID为top命令回显的第一列数值。例如,要终止PID为52的进程,直接输入“52”后回车。

    3. 操作成功后,会出现如下图所示类似信息,按回车确认。

  • kswapd0进程占用导致CPU使用率高

    可通过以下步骤排查进程的内存占用情况。

    1. 通过top命令查看kswapd0进程的资源使用。
    2. 如果kswapd0进程持续处于非睡眠状态,且运行时间较长,可以初步判定系统在持续的进行换页操作,可以将问题转向内存不足的原因来排查。

    3. 通过vmstat命令进一步查看系统虚拟内存的使用情况。
      如果si和so的值也比较高,说明系统存在频繁的换页操作,系统物理内存不足。
      • si:每秒从交换区写到内存的大小,由磁盘调入内存。
      • so:每秒写入交换区的内存大小,由内存调入磁盘。
    4. 对于内存不足问题,可以通过free、ps等命令进一步查询系统及系统内进程的内存占用情况,做进一步排查分析。
    5. 临时可通过在业务空闲期重启应用或者系统释放内存。

      如果要从根本上解决内存不足的问题,需要对服务器内存进行扩容,扩大内存空间。如果不具备扩容的条件,可通过优化应用程序,以及配置使用大页内存来进行缓解。

support.huaweicloud.com/trouble-ecs/ecs_trouble_0305.html