我正在使用托管服务提供商提供的 VPS。我的 VPS 有 6 个核心。在过去几周里,我通常在任何时间点使用最多 4-6 个核心。我的网页过去加载速度非常快(大约 2-4 秒)。但今天(一整天)突然间,我的 CPU 使用率只有不到 2,我的页面加载时间通常约为 10 秒。所以现在我很困惑,不确定我的服务器发生了什么。
我的猜测是其他用户滥用服务器,用完了所有核心,所以我的 CPU 使用率很少超过 2(而我的配额是 6)。
所以我的问题是:从我的 VPS,我可以检查托管我的 VPS 的机器的资源使用情况(CPU)吗?
非常感谢。
答案1
该vmstat
实用程序可以为您提供有关 CPU 使用情况统计的报告。有一个 CPU 可能处于的状态列表,此片段来自手册页:
us: Time spent running non-kernel code. (user time, including nice time)
sy: Time spent running kernel code. (system time)
id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.
最后一个对你来说很重要,它是 CPU 为除你的虚拟机之外的其他虚拟机工作所花费的时间。
使用的语法vmstat
是vmstat [options] [delay [count]]
。例如,它vmstat 3 10
会给你 10 行输出,每行大约是前 3 秒的时间。有关更多详细信息,请查看man 8 vmstat
。
这文章很好地解释了被偷走的时间。