如果top显示高负载,并且您不知道导致它的进程在占用处理器时间还是在进行网络I / O(不是本地I / O),您如何找到呢?
在我们的服务器上,我看到较高的负载值,但结合了60%-70%的空闲和大约25%的用户。我想知道如何插入这些值,但是在Internet上我几乎总是读到可以使用iostat来查看该进程是否在浪费磁盘。但是我已经确定了,事实并非如此。所讨论的过程也没有困难,但仍然负载很高。
因此,是否有办法找出更多由网络等待引起的部分以及由实际处理器时间引起的部分?顶部的“ idle”是什么意思?
为了清楚起见:对于负载,我的意思是3个数字,表示每个内核的平均排队进程。这台机器上有8个内核,最多可容纳25个内核,因此每个内核的负载为2.5。
问题没有道理...等待网络IO不使用任何CPU时间。
—
psusi 2015年
我喜欢
—
111 ---
htop
用于查看流程的实用程序。特别是它可以允许您选择一个进程,然后使用l
命令,它将使用lsof
包含IPv4
和IPv6
流设备等向您显示所有打开的文件。如果已strace
安装在盒子上,则可以进行系统调用和信号调试。不完全是一个答案,而是我将考虑要尝试研究的另一种工具。
我的意思是3个数字。据我了解,它们被称为“负载”,或者我在这里错了吗?它们代表队列中可以执行的进程数,但是其中是否包括具有网络等待的进程,还是不包括进程?
—
1
您如何定义“高”?内核的平均负载未缩放。例如,平均负载为1个和4个核心的系统的负载是平均负载为1个且只有1个核心的系统的1/4。平均负载是一个非常粗糙的数字。
—
巴哈马特
uptime
输出中看到)?