近期软件包升级后服务器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
排查建议(按优先级排序)
先锁定占用CPU的元凶进程
马上用top或者htop命令,盯着%CPU列找占比最高的进程——重点留意和刚升级包相关的进程,比如apparmor守护进程、python3-twisted相关服务,甚至有没有异常后台运行的vim相关进程(虽然vim一般是交互式工具,但不排除脚本调用的情况)。针对可疑进程深入分析
- 如果是
apparmor相关:
用dmesg | grep apparmor查看有没有大量审计日志或规则冲突报错,有时候升级后AppArmor规则和现有服务不兼容,会导致它疯狂生成日志或重试操作,直接吃满CPU。也可以临时停掉AppArmor(sudo systemctl stop apparmor)测试几分钟,看CPU是否下降——如果恢复正常,那基本就是AppArmor的问题,后续可以调整规则或者回滚版本。 - 如果是
python3-twisted进程:
找到对应服务的日志文件(一般在/var/log下的对应目录),检查有没有死循环、重复报错、连接无限重试的情况,升级后的Twisted可能和您现有Python脚本存在兼容性问题。 - 如果是其他进程:
比如openssl相关,检查有没有服务在高频调用openssl命令,或者SSL连接出现异常重试的情况。
- 如果是
回滚可疑包验证问题
如果定位到嫌疑最大的包,比如先回滚apparmor试试,执行命令:sudo apt install apparmor=3.0.4-2ubuntu2.3 libapparmor1=3.0.4-2ubuntu2.3回滚后重启相关服务,观察CPU是否恢复正常。同理,其他包也可以用
apt install 包名=旧版本号的方式回滚测试。
先按这个步骤排查,找到具体是哪个包引发的问题,再针对性解决会更高效~
备注:内容来源于stack exchange,提问作者paransh jain




