如何追踪导致 4 个核心 CPU 达到最大值的脚本

如何追踪导致 4 个核心 CPU 达到最大值的脚本

我是 Apache 菜鸟。我有一个安装了 debian squeeze 和 apache 的 virtualbox 实例。我发现我的所有 4 个核心都达到最大值,持续了大约 10 分钟,然后就消失了。这种情况每周都会发生几次。当我能够加载 top 时,我可以看到 apache 进程已达到最大值。

/usr/sbin/apache2 -k 启动

当我检查访问日志时,我没有看到大量的流量。我上周安装了 mod_evasive,以为它们可能是 DDoS 或机器人攻击登录页面,但我在日志中看不到。我怀疑某个地方可能有一些坏的 php 代码。我该如何追踪可能在哪里?

该网络服务器为一家小型企业托管了大约 4 个 wordpress 网站,以及另一个拥有大约 10 个用户的 php 应用程序。

我确保我已经更新了 debian。我正在运行最新的 wordpress。

答案1

使用 mod_status 查看状态页面。如果启用扩展状态,则会列出所有当前正在运行的请求以及附加详细信息。

答案2

即将达到 -1 Apache noob here;)

您可能会在中看到一些内容access.log。如果单个 php 脚本运行了很长时间,那么您将在进程结束时看到日志行,其中包含脚本启动的时间。

例如:

<?php
  sleep(120);
  echo "hi";

从 15:00 开始将在 15:02 生成带有时间戳 15:00 的日志条目。

相关内容