htop是一款运行于Linux系统监控与进程管理软件,用于取代Unix下传统的top。与top只提供最消耗资源的进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器、swap和内存状态。
用户一般可以在top无法提供详尽系统信息的情况下选择安装并使用htop。比如,在查找应用程序的内存泄漏问题时。与top相比,htop提供更方便、光标控制的界面来杀死进程。
安装: sudo apt install htop
github: https://github.com/htop-dev/htop
英文手册:https://www.geeksforgeeks.org/htop-command-in-linux-with-examples/
以上图为例:
Syntax:
htop [-dChusv] Options: -d –delay : Used to show the delay between updates, in tenths of seconds. -C –no-color –no-colour : Start htop in monochrome mode. -h –help : Used to display the help message and exit. -u –user=USERNAME : Used to show only the processes of a given use -p –pid=PID, PID… : Used to show only the given PIDs. -s –sort-key COLUMN : Sort by this column (use –sort-key help for a column list). -v –version : Output version information and exit. -F --filter=FILTER Show only the commands matching the given filter -U --no-unicode Do not use unicode but plain ASCII -H --highlight-changes[=DELAY] Highlight new and old processes -M --no-mouse Disable the mouse -t --tree Show the tree view (can be combined with -s)
htop命令的部分
从前面的输出中,我们可以清楚地看到htop的显示分为3个部分:
头部:
头部分显示系统指标,包括CPU、内存和交换利用率、运行任务、平均负载和正常运行时间。
红色边框:数字 1,2,3,4分别代表CPU处理器/核,上图是一个四核的处理器
灰色边框(progress bar)
每一个CPU的总用量情况,注意这条上面会有不同的颜色:
- 蓝色:显示低优先级(low priority)进程使用的CPU百分比。
- 绿色:显示用于普通用户(user)拥有的进程的CPU百分比。
- 红色:显示系统进程(kernel threads)使用的CPU百分比。
- 橙色:显示IRQ时间使用的CPU百分比。
- 洋红色(Magenta):显示Soft IRQ时间消耗的CPU百分比。
- 灰色:显示IO等待时间消耗的CPU百分比。
- 青色:显示窃取时间(Steal time)消耗的CPU百分比。
黄色边框
提供了内存(Memory)和交换(Swap)使用情况。 类似于CPU中的进度条,内存监视也包含具有多种颜色的进度条:
- 绿色:显示内存页面占用的RAM百分比
- 蓝色:显示缓冲区页面占用的RAM百分比
- 橙色:显示缓存页面占用的RAM百分比
swap行主要显示交换分区使用情况,当你发现你的交换分区(swap)已经派上用场
的时候,说明你的物理内存已经不足,需要考虑增加内存了。
蓝色边框
-
第一行 (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天
主体:
所有正在运行的进程。
- 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)
S:进程的运行状况
(1) R 表示正在运行
(2) S 表示休眠
(3) Z 表示僵死状态
(4) N 表示该进程优先值是负数
交互命令:
显示“htop菜单选项”
F1~F10 的功能和对应的字母快捷键:
- Arrows, Page Up, Page Down, Home, End: Scroll the process list.
- Space: Tag or untag a process.
- U – Untag all processes (remove all tags added with the Space key).
- s – Trace process system calls.
- F1 – Help
- F2 – setup
- F3 – search
- F4 – filtering: type in part of a process command line and only processes whose names match will be shown.
- F5 – Tree view
- F6 – Sorting.
- F7 – Increase the selected process’s priority. This can only be done by the superuser.
- F8 – Decrease the selected process’s priority.
- F9 – Kill process.
- F10 – Quit.
- F2进入设置界面
- F3是搜索进程
不区分大小写,可输入进程名搜索,
- F4 是类似于过滤的功能
输入的筛选条件会一直保存,可以按
ESC
键清除!
更细致的解释:man htop
帮助: htop -h