Linux htop 详解
Yuxuan Wu Lv13

之前在学校实验室工作的时候,接触的第一个命令就是htop。之前就是觉得这个花花绿绿的界面很有趣(牛逼),如下图,常常在女朋友面前故作牛逼的打开(实际就看看我的程序在不在跑,虚伪的不行🤪

img

为了以后装逼更有资本,我觉得得仔细弄清楚这些值到底是干什么的

本篇文章参考

Understanding Output of htop Command - Linux Togetherlinuxtogether.org

htop是top的升级版,允许用户监视系统上运行的进程及其完整的命令行

  1. 系统不会自带,若是Ubuntu,sudo apt, 若是Centos, yum 可以安装。根据不过系统来进行安装
  2. 支持用户交互,可以通过鼠标来kill进程而不用通过输入其PID,支持用鼠标上下拖动,且不同的颜色代表不同的意思。
  3. 允许用户根据CPU,内存和时间间隔对进程进行排序

htop 的安装

Ubuntu 安装

1
sudo apt install htop

CentOS 安装

http://www.vue5.com/centos/23046.html

基本的概念

tasks/process 进程, thread 线程相关的知识可以从下面的链接学习

如何理解:程序、进程、线程、并发、并行、高并发?

宇宙之一粟:为什么校招面试中“线程与进程的区别”老是被问到?我该如何回答?

Difference between Process and Thread - GeeksforGeeks

什么是虚拟内存(Virtual Memory)?

img

红色边框

数字1,2,3,4分别代表CPU处理器/核,上图是一个四核的处理器

灰色边框(progress bar)

每一个CPU的总用量情况,注意这条上面会有不同的颜色:

  1. 蓝色:显示低优先级(low priority)进程使用的CPU百分比。
  2. 绿色:显示用于普通用户(user)拥有的进程的CPU百分比。
  3. 红色:显示系统进程(kernel threads)使用的CPU百分比。
  4. 橙色:显示IRQ时间使用的CPU百分比。
  5. 洋红色(Magenta):显示Soft IRQ时间消耗的CPU百分比。
  6. 灰色:显示IO等待时间消耗的CPU百分比。
  7. 青色:显示窃取时间(Steal time)消耗的CPU百分比。

黄色边框

提供了内存(Memory)和交换(Swap)使用情况。 类似于CPU中的进度条,内存监视也包含具有多种颜色的进度条:

  1. 绿色:显示内存页面占用的RAM百分比
  2. 蓝色:显示缓冲区页面占用的RAM百分比
  3. 橙色:显示缓存页面占用的RAM百分比

img

蓝色边框

  • 第一行 (Tasks, thr, running)

  • 参考上面的屏幕截图,我们在计算机上运行的106个任务(tasks)被分解为113个线程(thread),其中只有1个进程处于运行(running)状态。

  • 任务(tasks)是打开的进程总数的代表,但并不是每个打开的进程都在不断消耗CPU。 每个进程都处于几种状态

  • R: Running:表示进程(process)正在使用CPU

  • S: Sleeping: 通常进程在大多数时间都处于睡眠状态,并以固定的时间间隔执行小检查,或者等待用户输入后再返回运行状态。

  • T/S: Traced/Stoped: 表示进程正在处于暂停的状态

  • Z:Zombie or defunct:已完成执行但在进程表中仍具有条目的进程。

  • 第二行 Load Average

  • 三个值是指系统在最后1分钟,最近5分钟和最后15分钟的平均负载 (0.21,0.19,0.15)

  • 第三行 Uptime

  • 表示这个系统一共运行了多长的时间,这里一共运行了78天

下半部分

img

  • PID – 描述进程的ID号
  • USER – 描述进程的所有者(谁跑的)
  • PRI – 描述Linux内核查看的进程优先级
  • NI – 描述由用户或root重置的进程优先级
  • VIR – 它描述进程正在使用的虚拟内存 (virtual memory)
  • RES – 描述进程正在消耗的物理内存(physical memory)
  • SHR – 描述进程正在使用的共享内存(shared memory)
  • S – 描述流程的当前状态 (state)
  • CPU% – 描述每个进程消耗的CPU百分比
  • MEM% – 描述每个进程消耗的内存百分比
  • TIME+ – 显示自流程开始执行以来的时间
  • Command –它与每个进程并行显示完整的命令执行 (比如/usr/lib/R)

一些快捷键

u – 用于显示特定用户拥有的所有进程。

P –用于基于高CPU消耗对进程进行排序。

M –用于基于高内存消耗对进程进行排序。

T –用于根据时间段对过程进行排序。

h –用于打开帮助窗口并查看此处未提及的更多快捷方式。

帮助: htop -h

更细致的解释:man htop

img

  • Post title:Linux htop 详解
  • Post author:Yuxuan Wu
  • Create time:2021-01-25 08:22:06
  • Post link:yuxuanwu17.github.io2021/01/25/Linux_htop/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.