我如何检查哪个帐户/用户正在滥用/使用我的 VPS 上的最多资源?
网络主机经常会以资源使用率过高为由暂停帐户。我该如何在我的 VPS 上检查是否也是如此?我有 root 访问权限。
答案1
这取决于您希望说明什么资源。
- 中央处理器:安装 BSD 进程记账(Debian 上的软件包
acct
;记忆中它是psacct
在 CentOS 上,但我可能记错了);这将为您提供所有运行进程的日志,包括 UID、CPU/挂钟时间、峰值内存使用率等。按要求处理。 - 内存:对于“随时间推移”的使用,BSD 进程记账可以解决问题。如果您需要定期进行“时间点”分析(以捕获大型、长时间运行的进程,这些进程是内存最重要的消耗者),我不知道有什么现成的方法,但从中
/proc
抽取数据/proc/X/maps
并不是什么难事。 - 网络:对于本地用户来说,这不是一个覆盖面很广的区域;如果您只是关注他们对请求的传入流量的使用情况,则可以使用各个服务器的日志来分析使用情况;如果您允许不受限制的入站/出站连接(首先不是一个好主意)并想要考虑该流量,例如网帐户这可能是最不坏的选择,尽管如果你遇到了恶意用户,绕过它并不难。
- 磁盘空间:对于简单的情况,定期检查
du
就可以了;如果您真的想停止它们,请设置磁盘配额。