yangjian102621 / geekai

AI 助手全套开源解决方案,自带运营管理后台,开箱即用。集成了 ChatGPT, Azure, ChatGLM,讯飞星火,文心一言等多个平台的大语言模型。支持 MJ AI 绘画,Stable Diffusion AI 绘画,微博热搜等插件工具。采用 Go + Vue3 + element-plus 实现。
https://chat.geekai.me
Apache License 2.0
3.65k stars 948 forks source link

其中一个运行 MySQL 的容器显示异常高的 CPU 使用率。尝试直接杀死进程似乎无效,因为进程会自动重启。 #201

Closed cubxxw closed 3 months ago

cubxxw commented 3 months ago

⚠️ 确认 issue 是否已存在 ⚠️

GPT-3 or GPT-4

GPT-3.5

操作系统

Linux

Bug 描述 📝

我使用的是 Docker 快速部署

详细信息

  1. 高 CPU 使用率: 使用 top 命令观察到,mysqld 进程(PID 5138)CPU 使用率高达 83.7%,由用户 ID 999 执行。

    5138 999 20 0 3293868 418648 37888 S 83.7 2.6 3:04.72 mysqld
  2. 用户操作与日志: 通过搜索 /var/log/auth.log 查看用户 999 的操作,但只返回了搜索命令本身,未发现其他有关活动。

    May 20 09:39:47 smile sudo: smile : TTY=pts/0 ; PWD=/home/smile ; USER=root ; COMMAND=/usr/bin/grep uid=999 /var/log/auth.log
  3. 进程信息: mysqldredis-server 都是由用户 ID 999 运行。

    UID          PID    PPID  C STIME TTY          TIME CMD
    999         5138    5045 82 09:30 ?        00:11:45 mysqld --default-authentication-plugin=mysql_native_password
    999         5489    5342  0 09:30 ?        00:00:00 redis-server *:6379
  4. 尝试杀死进程: 使用 kill -9 5138 尝试杀死 mysqld 进程,但进程似乎自动重启。

  5. 容器监控和管理: 进程是由 Docker 容器管理的,该容器的父进程信息如下:

    root       22055       1  0 09:49 ?        00:00:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 9f3cc36a6be5d52e8ae4d411487375c6b8ded0400df1fd7846b1cad3d8a15ca8 -address /run/containerd/containerd.sock
  6. 容器详情: 该容器是基于 mysql:8.0.33 镜像,已运行 2 天,最近重启时间为 3 分钟前。

    9f3cc36a6be5   mysql:8.0.33                                                                 "docker-entrypoint.s…"   2 days ago   Up 3 minutes    33060/tcp, 0.0.0.0:3307->3306/tcp, :::3307->3306/tcp                                   chatgpt-plus-mysql

猜测

问题可能与 MySQL 的慢查询有关,或是容器配置问题导致的资源使用异常。

重现步骤 🕹

Docker 快速部署后,top 查看 CPU 中用户 999 占用的 cpu 比例。

你的应用配置信息

没有做任何的配置。

cubxxw commented 3 months ago

mysql 的容器中的日志是空的:

bash-4.4# ls 
mysql  mysqld.log
bash-4.4# ls mysql/
bash-4.4# cat mysqld.log 
bash-4.4# 
userjia commented 3 months ago

我也遇到了这个问题,停止api容器后就不会了,新版本没有这个问题,可能是一个bug已经被修复但还未发布出来

yangjian102621 commented 3 months ago

这个问题我记录一下,另外,建议最好 Mysql 和 redis 容器单独部署,这样重启方便,不会相互干扰。