找出正在运行“top -i”中显示的 php 命令的特定进程

找出正在运行“top -i”中显示的 php 命令的特定进程

top -i我一直在搜索论坛,寻找下一步来分析在 Ubuntu 20.04 服务器命令行中运行时显示的 php 命令的具体进程。

通过 SSH 进入报告 CPU 使用率为 100% 的服务器后,我可以看到:

PID 用户 公共关系 虚拟仿真测试系统 可再生能源 自发性高血压 年代 %中央处理器 %内存 时间+ 命令
18266 mysql 20 0 1354720 496864 38872 年代 45.1 24.5 7:01.28 mysqld
17012 丘陵 20 0 337656 67748 43384 R 14.4 3.3 0:45.32 php-fpm8.0
17017 丘陵 20 0 339840 66492 40040 R 12.7 3.3 0:40.82 php-fpm8.0
13618 丘陵 20 0 341960 69600 41128 R 12.4 3.4 1:23.47 php-fpm8.0
13612 丘陵 20 0 340016 67796 41256 年代 11.8 3.3 1:26.96 php-fpm8.0

很明显,mysqld 请求了大量 CPU。我可以通过查找其进程 ID、pidstat -t -p {PID} 1收集其 {TID} 登录到 mysqlmysql -u root -p并使用 select 查询选择该进程,找出在 mysqld 命令中正在运行的、消耗大量内存的具体进程select * from performance_schema.threads where THREAD_OS_ID = {TID} \G

我想知道是否有等效的东西可以向我展示上面列表中显示的每个 php-fpm8.0 命令的具体请求是什么?

答案1

或许是

ps -ef | grep php

pstree -a -l -h -p  {ONE_OF_THE_PIDs}

会有所帮助。我没有运行 php,但我运行的是 postgres。以下是示例输出。

steve@AntHill2:~$ ps -ef | grep post
postgres    1115       1  0 08:39 ?        00:00:01 /usr/lib/postgresql/12/bin/postgres -D /var/lib/postgresql/12/main -c config_file=/etc/postgresql/12/main/postgresql.conf
postgres    1153    1115  0 08:39 ?        00:00:00 postgres: 12/main: checkpointer   
postgres    1154    1115  0 08:39 ?        00:00:00 postgres: 12/main: background writer   
postgres    1155    1115  0 08:39 ?        00:00:00 postgres: 12/main: walwriter   
postgres    1156    1115  0 08:39 ?        00:00:00 postgres: 12/main: autovacuum launcher   
postgres    1157    1115  0 08:39 ?        00:00:00 postgres: 12/main: stats collector   
postgres    1158    1115  0 08:39 ?        00:00:00 postgres: 12/main: logical replication launcher   
steve      17723   17577  0 20:10 pts/0    00:00:00 grep --color=auto post
steve@AntHill2:~$ pstree -a -l -h -p  1115
postgres,1115 -D /var/lib/postgresql/12/main -c config_file=/etc/postgresql/12/main/postgresql.conf
  ├─postgres,1153
  ├─postgres,1154
  ├─postgres,1155
  ├─postgres,1156
  ├─postgres,1157
  └─postgres,1158

如果这没有帮助,请尝试 pstree 的参数。如果仍然没有运气,那么我建议使用 phpadmin 或查看 php Stack Exchange 论坛。

相关内容