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 论坛。