【问题标题】:Understanding linux server process logs了解linux服务器进程日志
【发布时间】:2012-12-30 05:41:53
【问题描述】:

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

有人能解释一下这个输出的真正含义吗?

没有人 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

我从中得到的只是:
用户进程 ID __ ___ ___ _____ ? S ___ ___ process-location(apache/php) file-in-use

这是否正确?有人可以填空解释什么是什么。 S 是什么?

【问题讨论】:

    标签: linux apache logging process webserver


    【解决方案1】:

    这是提供 py ps 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,所以你必须更仔细地调查。我冒昧地猜测一下,这个脚本会进行一些数据处理,这可能需要很长时间。

    【讨论】:

    • 你是对的,该脚本旨在下载一个大的 xml 文件并解析为 sql。涉及的两个表有约 140 列,两个表之间总共有约 11,000 个条目。同样在这种情况下,正在运行的 apache 进程将是服务器上的共享进程(用户:nobody)还是只有我的?
    • 从外观上看,result.php 进程的 CPU 和 Mem 使用率很低。但是,虚拟内存和驻留集(不确定那是什么?)只有 150kb 和 25kb。好像没那么糟。
    • @xlordvader 分别是 150MB/25MB。这个输出的单位是 1KiB = 1024 Bytes
    • 无论如何,故障正是我想要的。我不知道是什么给出了这个日志输出。并且搜索“linux 服务器进程日志”并没有给我任何可能的解决方案。谢谢
    【解决方案2】:

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

    简而言之,我相信故障排除必须是这样的:

    hmmmmm 服务器很慢

    好的,我去看看HTOP

    HTOP 表示 PID 232019 正在占用 CPU 并占用内存

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

    在日志文件中搜索232019

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

    【讨论】:

    • 这有点太简单了。我想知道管理员必须阻止访问的特定资源正在使用(日志本身的解释)。非常感谢您的意见 - 谢谢
    猜你喜欢
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多