You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

近期软件包升级后服务器CPU占用100%问题求助

近期软件包升级后服务器CPU占用100%问题求助

您好,昨天升级完这批软件包后服务器CPU直接跑满,先把您的升级记录整理出来,咱们一步步来排查问题:

您的软件包升级时间线

2024-09-06 17:20:58 upgrade libssl-dev:amd64 3.0.2-0ubuntu1.17 3.0.2-0ubuntu1.18
2024-09-06 17:20:58 upgrade libssl3:amd64 3.0.2-0ubuntu1.17 3.0.2-0ubuntu1.18
2024-09-06 17:20:58 upgrade libapparmor1:amd64 3.0.4-2ubuntu2.3 3.0.4-2ubuntu2.3build2
2024-09-06 17:20:58 upgrade openssl:amd64 3.0.2-0ubuntu1.17 3.0.2-0ubuntu1.18
2024-09-06 17:20:59 upgrade vim:amd64 2:8.2.3995-1ubuntu2.17 2:8.2.3995-1ubuntu2.18
2024-09-06 17:20:59 upgrade vim-tiny:amd64 2:8.2.3995-1ubuntu2.17 2:8.2.3995-1ubuntu2.18
2024-09-06 17:20:59 upgrade vim-runtime:all 2:8.2.3995-1ubuntu2.17 2:8.2.3995-1ubuntu2.18
2024-09-06 17:21:00 upgrade xxd:amd64 2:8.2.3995-1ubuntu2.17 2:8.2.3995-1ubuntu2.18
2024-09-06 17:21:00 upgrade vim-common:all 2:8.2.3995-1ubuntu2.17 2:8.2.3995-1ubuntu2.18
2024-09-06 17:21:00 upgrade apparmor:amd64 3.0.4-2ubuntu2.3 3.0.4-2ubuntu2.3build2
2024-09-06 17:21:01 upgrade python3-twisted:all 22.1.0-2ubuntu2.4 22.1.0-2ubuntu2.5

排查建议(按优先级排序)

  1. 先锁定占用CPU的元凶进程
    马上用top或者htop命令,盯着%CPU列找占比最高的进程——重点留意和刚升级包相关的进程,比如apparmor守护进程、python3-twisted相关服务,甚至有没有异常后台运行的vim相关进程(虽然vim一般是交互式工具,但不排除脚本调用的情况)。

  2. 针对可疑进程深入分析

    • 如果是apparmor相关:
      dmesg | grep apparmor查看有没有大量审计日志或规则冲突报错,有时候升级后AppArmor规则和现有服务不兼容,会导致它疯狂生成日志或重试操作,直接吃满CPU。也可以临时停掉AppArmor(sudo systemctl stop apparmor)测试几分钟,看CPU是否下降——如果恢复正常,那基本就是AppArmor的问题,后续可以调整规则或者回滚版本。
    • 如果是python3-twisted进程:
      找到对应服务的日志文件(一般在/var/log下的对应目录),检查有没有死循环、重复报错、连接无限重试的情况,升级后的Twisted可能和您现有Python脚本存在兼容性问题。
    • 如果是其他进程:
      比如openssl相关,检查有没有服务在高频调用openssl命令,或者SSL连接出现异常重试的情况。
  3. 回滚可疑包验证问题
    如果定位到嫌疑最大的包,比如先回滚apparmor试试,执行命令:

    sudo apt install apparmor=3.0.4-2ubuntu2.3 libapparmor1=3.0.4-2ubuntu2.3
    

    回滚后重启相关服务,观察CPU是否恢复正常。同理,其他包也可以用apt install 包名=旧版本号的方式回滚测试。

先按这个步骤排查,找到具体是哪个包引发的问题,再针对性解决会更高效~

备注:内容来源于stack exchange,提问作者paransh jain

火山引擎 最新活动