我在 Linux 上的 htop 中看到了什么?

我在 Linux 上的 htop 中看到了什么?

不确定这是否是提出这个问题的正确地方,但无论如何我都会问它,看看它会在哪里出现!

我在 Centos 上运行一个节点进程,当我运行时htop,我看到一大堆看起来相关的进程,但我不知道如何相关,我希望有人可以向我解释:-/

看一下这个屏幕截图....

在此处输入图片描述

我只有一个“realtime-event-manager”进程正在运行,但我看到了多个。我知道这是正在进行的底层多线程的表示,但我不明白为什么CPUMEMRES值都相等?我在这里到底看到了什么?

另外,请注意顶部的 CPU 利用率条。我经常看到它们飙升至 90-100%,但没有明显的减速……这是真实的表示还是仅仅是所列项目的总和htop

答案1

我只有一个“实时事件管理器”进程正在运行,但我看到多个。

Linux 中,线程实现为LWP——轻量级进程这意味着线程 ID 和进程 ID 实际上是从同一个池中分配的。请参阅此答案以获取更多信息:PID 和 TID 之间的区别

您可以按 切换嵌套/树视图F5

Shift此外,您可以通过按+H或通过设置菜单来显示/隐藏用户空间线程-F2

htop 设置-线程可见性

启用“显示自定义线程名称“ 选项。

这些 ”进程“你看到的可能实际上”线程“ - 在树视图中会更清晰,或者使用“以不同颜色显示线程“选项已启用。


顶部的 CPU 利用率条。我经常看到它们飙升至 90-100%,但没有明显的减速

在 *nix 世界中,100% 意味着“100% 一个核心“...这并不意味着”100% 的可用处理时间“就像在 Windows 上一样。

此外, ”没有明显的减速“是一个非常有趣而主观的观点。

取决于内核的抢占,调度程序和优先级系统可以进行调整和优化:

  • 即时的“ - 尝试软实时调度...(注意:Linux 不是实时内核)
  • 交互的“- 将更容易抢占(中断)进程,使系统看起来更具响应性
  • “——将推迟中断,以便更有效地完成一项大型工作,但代价是让用户等待。

如今,大多数面向用户的系统都针对交互式调度进行了优化,越来越多的服务器也是如此。

此外,我还观察到““ / ”更好的“处理器(例如:i7 / Xeon)在高负载下提供比”更好的响应能力更小“处理器(例如:Atom / i3)...我无法完全解释这一点,但这可能是由于线程数、缓存大小等......

相关内容