![如何检查 Linux Debian 服务器中按网站排序的资源消耗?](https://linux22.com/image/645762/%E5%A6%82%E4%BD%95%E6%A3%80%E6%9F%A5%20Linux%20Debian%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%AD%E6%8C%89%E7%BD%91%E7%AB%99%E6%8E%92%E5%BA%8F%E7%9A%84%E8%B5%84%E6%BA%90%E6%B6%88%E8%80%97%EF%BC%9F.png)
我在 Linux Debian VPS 上安装了 apache2。如何检查内存或者中央处理器使用特定网站?当我运行氢能顶盖我刚刚看到用户列值“www-数据”以及命令列值“用户/sbin/apache2”我不知道哪个网站对处理器造成压力。
答案1
如果您的所有网站都在同一个(默认)用户下运行,那么就无法查看哪个特定用户/脚本对您的服务器造成了严重攻击。
在这种情况下,您应该使用不同的方法。我建议使用两种模仿“top”的工具,但从 apache 日志中读取(并计算)它们的数据。
第一个工具是 apachetop,它会显示每秒的请求数。它接受 apache 访问路径或组合日志格式文件:
apachetop -f /var/log/apache2/access.log -r 1
您可以根据需要重复 -f 参数多次(您拥有的 access_logs 数量 - 如果您在每个 vhost 上使用不同的 access_logs)。
程序将输出顶部类似的界面,其中顶部的请求 URI 被点击次数最多。如果按“?”,您将获得其他各种选项。
这不会直接回答您的问题,但它可以帮助您查明访问最多的 URI。
除此之外,您还可以使用 GoAccess 来分析 access_logs 并进行比较,或者编写自己的脚本来计算过去一小时的统计数据。