1

所以我从服务器管理员那里得到了这个小片段,说我的脚本是导致服务器过载的原因。我不太明白这个日志是如何说明的。

有人可以解释这个输出的实际含义吗?

没有人 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 ? 08:41 0:11 | _ /usr/bin/php /home/user/public_html/results.php

我从中得到的只是:
用户 processid __ _ __ ___ _ _ __ ? S _ ___ __ 进程位置(apache/php)文件正在使用

那是正确的吗?有人可以填空解释什么是什么。什么是 S ?

4

2 回答 2

0

您的系统管理员告诉您的是 results.php 中的某些内容正在使用资源。top他可能已经能够与类似或这样的工具一起推测这一点,htop以便他可以“实时”观察过程。交叉引用了 PID(进程 ID)和中提琴,他可以评估您的文件results.php使用的资源比“正常”或“预期”更多。但从日志本身,您可以看到的只是用户运行了一个编号的进程232019以及该进程“是什么”。他需要日志来告诉他 PID232019是什么以及为什么说 ID 正在消耗资源。Apache 日志是为错误报告而设计的,而不是用于监控内核进程及其性能。

所以简而言之,我相信故障排除一定是这样的:

hmmmmm 服务器很慢

好的,我会看看HTOP

HTOP说 PID232019正在盯住 CPU 并吃掉内存

嗯嗯 想知道 PID 到底232019是什么?- 我只能看到 apache 正在运行它。最好在日志中查看。

在日志文件中搜索232019.

啊,它是...results.php。罪魁祸首。

于 2013-01-16T00:21:17.773 回答
0

这是提供的输出 pyps aups 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,所以你必须更仔细地调查。我冒昧地猜测并说这个脚本做了一些可能需要很长时间的数据处理。

于 2013-01-16T00:22:56.820 回答