所以我从服务器管理员那里得到了这个小片段,说我的脚本负责服务器过载。我不太明白这个日志是怎么说的。
有人可以解释这个输出实际意味着什么吗?
nobody 227949 6.2 45.4 21198032 11187052? S 08:40 0:19 _ / usr / local / apache / bin / httpd -k start -DSSL
用户232019 4.1 0.1 150748 25872? S 08:41 0:11 | _ / usr / bin / php /home/user/public_html/results.php
我从中获得的是:
用户进程 __ _ __ ___ __ _ __ ? S _ __ _ __ process-location(apache / php)正在使用的文件
这是否正确?有人可以填补空白,解释什么是什么。什么是S?
答案 0 :(得分:0)
您的系统管理员告诉您的是,results.php中的内容正在使用资源。他可能已经能够与top
或htop
这样的工具一起推测这一点,以便他能够在“真实”时间内观察这些过程。交叉引用了PID(进程ID)和中提琴,他可以评估您的文件results.php
使用的资源多于“正常”或“预期”。但是从日志本身来看,您可以看到的只是用户运行了一个编号为232019
的进程以及该进程'是'。他需要日志来告诉他PID 232019
是什么以及为什么ID正在吃资源。 Apache日志专为错误报告而设计,而不是用于监控内核进程及其性能。
简而言之,我认为故障排除必须是:
hmmmmm服务器很慢
好的,我会看HTOP
HTOP
说PID 232019
正在盯住CPU和吃内存
嗯,想知道PID 232019
究竟是什么? - 我只能看到apache正在运行它。更好地查看日志。
在日志文件中搜索232019
。
啊,那是...... results.php。罪魁祸首。
答案 1 :(得分:0)
这是py ps au
或ps aux
提供的输出,列是:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
https://superuser.com/questions/117913/ps-aux-output-meaning有解释,或查看man ps
。
状态S
表示“正在休眠”,这对于进程来说是一个非常正常的状态。此输出对于追踪问题并没有太大帮助。你现在所有的问题都在results.php
,所以你必须更仔细地调查。我猜错了,并说这个脚本做了一些数据处理可能需要很长时间。