网络等待进入“顶部”的何处?


9

如果top显示高负载,并且您不知道导致它的进程在占用处理器时间还是在进行网络I / O(不是本地I / O),您如何找到呢?

在我们的服务器上,我看到较高的负载值,但结合了60%-70%的空闲和大约25%的用户。我想知道如何插入这些值,但是在Internet上我几乎总是读到可以使用iostat来查看该进程是否在浪费磁盘。但是我已经确定了,事实并非如此。所讨论的过程也没有困难,但仍然负载很高。

因此,是否有办法找出更多由网络等待引起的部分以及由实际处理器时间引起的部分?顶部的“ idle”是什么意思?

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


您如何称呼“负载”:CPU使用率或3个“负载平均值”值(在uptime输出中看到)?
spuk

1
问题没有道理...等待网络IO不使用任何CPU时间。
psusi 2015年

2
我喜欢htop用于查看流程的实用程序。特别是它可以允许您选择一个进程,然后使用l命令,它将使用lsof包含IPv4IPv6流设备等向您显示所有打开的文件。如果已strace安装在盒子上,则可以进行系统调用和信号调试。不完全是一个答案,而是我将考虑要尝试研究的另一种工具。
111 ---

我的意思是3个数字。据我了解,它们被称为“负载”,或者我在这里错了吗?它们代表队列中可以执行的进程数,但是其中是否包括具有网络等待的进程,还是不包括进程?
1

您如何定义“高”?内核的平均负载未缩放。例如,平均负载为1个和4个核心的系统的负载是平均负载为1个且只有1个核心的系统的1/4。平均负载是一个非常粗糙的数字。
巴哈马特

Answers:


3

如果top显示高负载,并且您不知道导致它的进程在占用处理器时间还是在进行网络I / O(不是本地I / O),您如何找到呢?

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

因此,是否有办法找出更多由网络等待引起的部分以及由实际处理器时间引起的部分?

在假定的NFS等待之外,网络等待不会占用平均负载的全部。

顶部的“ idle”是什么意思?

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


感谢您的回答。因此,在我看到较高的空闲值(60%-70%)和较低的用户状态(大约25%)以及较低的iowait的情况下,如果我理解正确,这可能意味着服务器正在等待网络资源。
1

1
不必等待网络资源。可能仅仅是CPU的速度足以完成所有要做的事情。平均负载较高可能是由于大量线程同时竞争一个CPU,但在很短的虚假时间内造成的。
jlliagre
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.