当前位置:论坛首页 > Linux面板 > 建议

【已修复】宝塔面板的0点CPU高占用bug找到了,快更新!!...

发表在 Linux面板2022-6-10 20:16 [复制链接] 1 5250

来源于flyqie

本人测试环境: Bt-Panel 7.7.0, Debian10 amd64

经查看本地/www/server/panel目录下的面板代码以及与老哥交流(原帖子回复), 确认原帖老哥拿到的代码并非宝塔目前主版本代码(可能是开发版).

分析

宝塔目前主版本代码会执行 /www/server/panel/BT-Task 作为BT-Task service.

/www/server/panel/BT-Task 引入了 /www/server/panel/task.py 并执行其中的main函数.

在 task.py 中, main函数中会开启多个线程去调用其他任务, 最后主进程交由startTask函数进行处理.

startTask是个死循环函数, 它会先执行从面板数据库中拿取的任务, 之后调用siteEdate函数进行网站到期处理.

siteEdate 函数正常来说应该在一天内只执行一次 /www/server/panel/script/site_task.py , 但是很不幸宝塔程序员逻辑写错了:





这将会导致在第一次执行后, 每次调用siteEdate函数时都会继续执行 /www/server/panel/script/site_task.py .

更糟糕的是, /www/server/panel/script/site_task.py 中似乎也没有对此做处理(判断时间), 也就是说site_task.py会不断执行一系列没有必要的检测.

修复

建议官方尽快解决, 目前可用临时修复补丁进行修复, 但不保证完全可靠(补丁基于7.7.0并且未经过长期及生产环境测试), 建议谨慎使用.





使用道具 举报 只看该作者 回复
发表于 2022-6-11 16:08:12 | 显示全部楼层
感谢反馈,已经修复,等后续更新即可,已奖励宝塔币300
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表