当前位置:论坛首页 > BUG提交 > Linux面板

【已完成】Docker环境中运行宝塔面板pids无限增加

发表在 BUG提交2024-7-1 23:05  关闭 [复制链接] 13 1147

环境:系统: Ubuntu22.04、deepin 20v3
Docker版本: Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1

宝塔版本:免费版:8.2.0

运行中的功能:仅运行宝塔面板

现象:pyhton3进程无限增加,导致资源耗尽,网站无法访问

docker 内部信息

root         226  0.0  0.0      0     0 ?        Z    21:40   0:00 [python3] <defunct>
root         288  0.0  0.0      0     0 ?        Z    21:41   0:00 [python3] <defunct>
root         290  0.1  0.0      0     0 ?        Z    21:41   0:00 [python3] <defunct>
root         297  0.0  0.0      0     0 ?        Z    21:42   0:00 [python3] <defunct>
root         302  0.0  0.0      0     0 ?        Z    21:42   0:00 [python3] <defunct>
root         304  0.1  0.0      0     0 ?        Z    21:42   0:00 [python3] <defunct>
root         319  0.0  0.0      0     0 ?        Z    21:43   0:00 [python3] <defunct>
root         321  0.2  0.0      0     0 ?        Z    21:43   0:00 [python3] <defunct>
root         338  0.0  0.0      0     0 ?        Z    21:44   0:00 [python3] <defunct>
root         350  0.0  0.0      0     0 ?        Z    21:44   0:00 [python3] <defunct>
root         352  0.0  0.0      0     0 ?        Z    21:44   0:00 [python3] <defunct>
root         354  0.1  0.0      0     0 ?        Z    21:44   0:00 [python3] <defunct>
root         374  0.0  0.0      0     0 ?        Z    21:45   0:00 [python3] <defunct>
root         376  0.2  0.0      0     0 ?        Z    21:45   0:00 [python3] <defunct>
root         384  0.1  0.0      0     0 ?        Z    21:46   0:00 [python3] <defunct>
root         389  0.0  0.0      0     0 ?        Z    21:46   0:00 [python3] <defunct>
root         391  0.3  0.0      0     0 ?        Z    21:46   0:00 [python3] <defunct>
root         396  0.2  0.0      0     0 ?        Z    21:47   0:00 [python3] <defunct>
root         398  0.7  0.0      0     0 ?        Z    21:47   0:00 [python3] <defunct>
root         400  1.0  0.0      0     0 ?        Z    21:48   0:00 [python3] <defunct>
root         402  6.0  0.0      0     0 ?        Z    21:48   0:00 [python3] <defunct>
root         404 46.0  0.0      0     0 ?        Z    21:48   0:00 [python3] <defunct>


root@7dbd6be9cf03:/# ps aux | grep "python3" | wc -l
233


docker外部监控
CONTAINER ID   NAME          CPU %     MEM USAGE / LIMIT    MEM %     NET I/O           BLOCK I/O         PIDS
7dbd6be9cf03   hiswi-cloud   0.11%     84.64MiB / 3.32GiB   2.49%     3.61MB / 11.7MB   5.98MB / 18.1MB   256




使用道具 举报 只看该作者 回复
发表于 2024-7-2 10:01:44 | 显示全部楼层
您好,需要了解一下,您这边在出现这个现象前是做了什么操作呢,是安装面板后就出现了嘛
方便截图一下history  |grep sh  的信息吗
使用道具 举报 回复 支持 反对
发表于 2024-7-2 10:26:57 | 显示全部楼层
docker 中安装面板后,配置了网站,自动申请 ssl 证书,但是我网站相关的程序我一个也没有启动,我安装的程序有nginx、phpmyadmin、 php74 、redis、mysqld,就没有其他操作了。
步骤 1:
root@7dbd6be9cf03:/# bt 3
===============================================
正在执行(3)...
===============================================
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Starting Bt-Panel....        done
Starting Bt-Tasks...         done
root@7dbd6be9cf03:/

步骤 2:
root@7dbd6be9cf03:/# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0   2824  1020 ?        Ss   10:25   0:00 tail -f /dev/null
root           7  0.0  0.1   4628  3844 pts/0    Ss   10:25   0:00 /bin/bash
root          75  1.4  0.0      0     0 pts/0    Z    10:25   0:00 [python3] <defunct>
root          77  0.0  0.0      0     0 pts/0    Z    10:25   0:00 [bash] <defunct>
root          86  0.5  0.0      0     0 ?        Zs   10:25   0:00 [BT-Panel] <defunct>
root          87  0.1  1.1 129572 39996 ?        S    10:25   0:00 /www/server/panel/pyenv/bin/python3 /www/server/panel/BT-Panel
root         127  0.0  0.0      0     0 ?        Zs   10:25   0:00 [BT-Task] <defunct>
root         128  0.1  0.5 1002060 18832 ?       Sl   10:25   0:00 /www/server/panel/pyenv/bin/python3 /www/server/panel/BT-Task
root         146  0.7  0.0      0     0 ?        Z    10:25   0:00 [python3] <defunct>
root         151  1.9  0.0      0     0 ?        Z    10:25   0:00 [python3] <defunct>
root         154  2.0  0.0      0     0 ?        Z    10:25   0:00 [python3] <defunct>
root         170  0.0  0.0   7064  1584 pts/0    R+   10:26   0:00 ps aux
就执行了这个操作,然后就开始无限增加pids
使用道具 举报 回复 支持 反对
发表于 2024-7-2 10:28:34 | 显示全部楼层
这应该是个重大 BUG,我试过8.0.0. 8.0.5 7.9.10版本都不行,你们应该兼容docker环境的。
使用道具 举报 回复 支持 反对
发表于 2024-7-2 10:30:12 | 显示全部楼层
过一分钟后,python3相关的进程的 pids 开始增加,并且是僵死进程,且占用 cpu
root@7dbd6be9cf03:/# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0   2824  1020 ?        Ss   10:25   0:00 tail -f /dev/null
root           7  0.0  0.1   4628  3844 pts/0    Ss   10:25   0:00 /bin/bash
root          75  0.1  0.0      0     0 pts/0    Z    10:25   0:00 [python3] <defunct>
root          77  0.0  0.0      0     0 pts/0    Z    10:25   0:00 [bash] <defunct>
root          86  0.0  0.0      0     0 ?        Zs   10:25   0:00 [BT-Panel] <defunct>
root          87  0.0  1.1 129572 40028 ?        S    10:25   0:00 /www/server/panel/pyenv/bin/python3 /www/server/panel/BT-Panel
root         127  0.0  0.0      0     0 ?        Zs   10:25   0:00 [BT-Task] <defunct>
root         128  0.0  0.5 1075792 19096 ?       Sl   10:25   0:00 /www/server/panel/pyenv/bin/python3 /www/server/panel/BT-Task
root         146  0.0  0.0      0     0 ?        Z    10:25   0:00 [python3] <defunct>
root         151  0.1  0.0      0     0 ?        Z    10:25   0:00 [python3] <defunct>
root         154  0.1  0.0      0     0 ?        Z    10:25   0:00 [python3] <defunct>
root         172  0.1  0.0      0     0 ?        Z    10:26   0:00 [python3] <defunct>
root         174  0.3  0.0      0     0 ?        Z    10:26   0:00 [python3] <defunct>
root         176  0.2  0.0      0     0 ?        Z    10:27   0:00 [python3] <defunct>
root         178  0.1  0.0      0     0 ?        Z    10:27   0:00 [python3] <defunct>
root         180  1.3  0.0      0     0 ?        Z    10:27   0:00 [python3] <defunct>
root         182  0.0  0.0   7064  1556 pts/0    R+   10:28   0:00 ps aux
使用道具 举报 回复 支持 反对
发表于 2024-7-2 10:31:59 | 显示全部楼层
docker 中宝塔面板配置好网站后,单独运行我的网站,不开启宝塔面板就没有这个问题。
使用道具 举报 回复 支持 反对
发表于 2024-7-2 10:34:22 | 显示全部楼层
宿主机环境没有这个问题
使用道具 举报 回复 支持 反对
发表于 2024-7-2 10:55:39 | 显示全部楼层
happySir1 发表于 2024-7-2 10:34
宿主机环境没有这个问题

您在您docker中执行以下
  1. 您到服务器SSH终端中执行下面命令(非面板终端)修复面板
  2. 删除之前无法使用的面板环境
  3. mv  /www/server/panel/pyenv /www/backup/pyenv_backup
  4. 重新获取新的面板环境和更新包
  5. curl http://download.bt.cn/install/update_panel.sh|bash
复制代码
使用道具 举报 回复 支持 反对
发表于 2024-7-6 15:43:19 | 显示全部楼层
运维技术阿闯 发表于 2024-7-2 10:55
您在您docker中执行以下

按照此命令更新后,依然未解决问题,只运行了bt 3命令
root@Cloud:~/work/production_env# docker exec -it hiswi-cloud /bin/bash
root@bc13dbba782d:/# ps aux  | grep python
root          75  0.2  0.0      0     0 ?        Z    15:38   0:00 [python3] <defunct>
root          87  0.0  1.1 129540 40084 ?        S    15:38   0:00 /www/server/panel/pyenv/bin/python3 /www/server/panel/BT-Panel
root         193  0.0  0.5 1075764 19180 ?       Rl   15:38   0:00 /www/server/panel/pyenv/bin/python3 /www/server/panel/BT-Task
root         237  0.0  0.0      0     0 ?        Z    15:38   0:00 [python3] <defunct>
root         244  0.0  0.0      0     0 ?        Z    15:38   0:00 [python3] <defunct>
root         246  0.1  0.0      0     0 ?        Z    15:38   0:00 [python3] <defunct>
root         248  0.1  0.0      0     0 ?        Z    15:38   0:00 [python3] <defunct>
root         252  0.6  0.0      0     0 ?        Z    15:38   0:01 [python3] <defunct>
root         318  0.1  0.0      0     0 ?        Z    15:39   0:00 [python3] <defunct>
root         320  0.4  0.0      0     0 ?        Z    15:39   0:00 [python3] <defunct>
root         336  0.3  0.0      0     0 ?        Z    15:40   0:00 [python3] <defunct>
root         338  0.1  0.0      0     0 ?        Z    15:40   0:00 [python3] <defunct>
root         340  0.9  0.0      0     0 ?        Z    15:40   0:00 [python3] <defunct>
root         355  0.0  0.0   3472  1604 pts/1    S+   15:40   0:00 grep --color=auto python
root@bc13dbba782d:/# ps aux  | grep python | wc -l
14
root@bc13dbba782d:/# ps aux  | grep python3 | wc -l
16
root@bc13dbba782d:/# ps aux  | grep python3 | wc -l
16
root@bc13dbba782d:/# ps aux  | grep python3 | wc -l
16
root@bc13dbba782d:/# ps aux  | grep python3 | wc -l
19
root@bc13dbba782d:/#
使用道具 举报 回复 支持 反对
发表于 2024-7-6 16:19:35 | 显示全部楼层
happySir1 发表于 2024-7-6 15:43
按照此命令更新后,依然未解决问题,只运行了bt 3命令
root@Cloud:~/work/production_env# docker exec - ...

您好,您这个应该就是进程结束,父进程没有收回,导致的僵尸进程
https://blog.csdn.net/weixin_70208651/article/details/136632878#
参考这个解决
使用道具 举报 回复 支持 反对
发表于 2024-8-3 01:12:47 | 显示全部楼层
运维技术阿闯 发表于 2024-7-6 16:19
您好,您这个应该就是进程结束,父进程没有收回,导致的僵尸进程
https://blog.csdn.net/weixin_70208651 ...

不是回收不回收的问题,是它一直在创建进程啊,你美看到他的pid的个数一直在增加吗,杀不完,根本杀不完,docker是一种很常见的成熟部署方式,希望你们能够解决。
使用道具 举报 回复 支持 反对
发表于 2024-8-12 09:53:20 | 显示全部楼层
happySir1 发表于 2024-8-3 01:12
不是回收不回收的问题,是它一直在创建进程啊,你美看到他的pid的个数一直在增加吗,杀不完,根本杀不完 ...

您好,临时关闭docker,然后将面板升级到最新版本后,执行bt 16修复一下,然后您看您的问题是否解决
使用道具 举报 回复 支持 反对
发表于 2024-8-16 11:39:44 | 显示全部楼层
运维技术阿闯 发表于 2024-8-12 09:53
您好,临时关闭docker,然后将面板升级到最新版本后,执行bt 16修复一下,然后您看您的问题是否解决 ...

您好:
      根据您提供的方法,更新到 9.10 版本后,运行半个小时,没有重复创建 python3进程,问题得到解决。
效果如下:
root@bc13dbba782d:/www# ps aux | grep python3 | wc -l
1
root@bc13dbba782d:/www#

      PS:更正您的“临时关闭docker,然后将面板升级到最新版本后”,bt 本身跑在docker里的,所以不用临时关闭 docker,不然无法更新。

      在此非常感谢宝塔官方团队的技术支持,后续会继续为官方提供准确的 bug 描述。
使用道具 举报 回复 支持 反对
发表于 2024-8-16 14:13:09 | 显示全部楼层
happySir1 发表于 2024-8-16 11:39
您好:
      根据您提供的方法,更新到 9.10 版本后,运行半个小时,没有重复创建 python3进程,问题得 ...

好的,问题解决了就好,这边后续也会持续观察一下的,您有新的问题可以在开新贴呢,这边就闭贴了,祝您生活愉快
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

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

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

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

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

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