网络等待在“top”中去哪里?

网络等待在“top”中去哪里?

如果顶部显示高负载,并且您不知道导致它的进程是否正在执行处理器时间或正在执行网络 I/O(而不是本地 I/O),您如何才能找到它?

在我们的服务器上,我看到负载值很高,但与 60%-70% 的空闲率和大约 25% 的用户相比。我想知道如何解释这些值,但在互联网上我几乎总是读到您可以使用 iostat 来查看该进程是否正在破坏您的磁盘。但我已经确定,事实并非如此。该进程在完成其工作时也没有遇到问题,但负载仍然很高。

那么,有没有办法更多地找出哪部分是由网络等待引起的,哪部分是由实际处理器时间引起的呢?顶部的“空闲”是什么意思?

为了清楚起见:对于负载,我指的是 3 个数字,表示每个核心的平均排队进程。这台机器上有 8 个核心,数量最多为 25 个,因此每个核心的负载为 2.5。

答案1

如果顶部显示高负载,并且您不知道导致它的进程是否正在执行处理器时间或正在执行网络 I/O(而不是本地 I/O),您如何才能找到它?

Linux iowait 指标中不考虑网络 I/O,除非它是 NFS 事务的一部分,在这种情况下,它被视为磁盘 I/O。

那么,有没有办法更多地找出哪部分是由网络等待引起的,哪部分是由实际处理器时间引起的呢?

除了假设的 NFS 等待之外,网络等待不会占用任何平均负载。

顶部的“空闲”是什么意思?

这意味着 CPU 不处于其他列出状态(用户、系统、nice、iowait、硬件中断、软件中断、被盗)的时间百分比。这包括网络等待。空闲时,CPU 基本上不执行任何操作。请注意,iowait 也是空闲时间,因为 CPU 也不执行任何操作。

相关内容