htop¶
htop 是一个常用的系统监控工具,可以显示系统的进程、CPU、内存等信息。
基本使用¶
-
默认模式(进程列表模式)
htop -
进程树模式
htop --t
面板术语¶
-
PID (Process ID, 进程ID)
- 进程在系统中的唯一标识符, 用于区分不同的进程
-
USER (User Name, 用户名)
- 进程所属用户
-
PRI (Priority, 优先级)
-
进程调度优先级, 值越小, 优先级越高; 在Linux中通常取 0~139
-
由内核态动态维护,用户无法直接修改
-
-
NI (Nice Value, Nice值)
-
用户可调整的进程"友好度"参数, 会影响PRI值的计算
-
NI值调整权限和范围:
-
普通用户: 只能提高NI值(降低优先级),范围 0~19
-
root用户: 可以设置负NI值(提高优先级),范围 -20~19
# 普通用户:启动一个"友好"的进程(NI=10) nice -n 10 ./my_program # root用户:启动一个"不友好"的进程(NI=-5) sudo nice -n -5 ./important_program # 修改运行中进程的nice值 renice -n 5 -p 1234 # 将PID为1234的进程NI值设为5 sudo renice -n -5 -p 1234 # root用户才能设置负值 -
Nice值的起源
Nice值的概念来自早期的Unix系统(1970年代)。其命名逻辑相当有意思:
-
当一个进程"nice"(友好)时,它不会抢占太多CPU资源,相反,它会"礼貌地"让其他进程先运行,就像现实中的"nice person"(好人)会谦让一样
-
高NI值 = 进程很"nice",愿意让出CPU给其他进程
-
低NI值 = 进程"不nice",想要更多CPU时间
-
负NI值 = 进程"非常不nice",几乎要"插队"运行
这种命名方式体现了Unix系统设计者的幽默感😄
-
-
VIRT (Virtual Memory, 虚拟内存)
- 进程使用的虚拟内存总量, 包括实际使用的内存和交换空间
-
RES (Resident Memory, 常驻内存)
- 进程实际使用的物理内存总量, 只包含实际使用的物理内存 (RAM)
-
SHR (Shared Memory, 共享内存)
- 与其他进程共享的内存部分
-
S (Status, 状态)
-
进程状态, 常见的形式有一下几种:
-
R: Running (运行中)
-
S: Sleeping (休眠)
-
D: Uninterruptible Sleep (不可中断休眠)
-
Z: Zombie (僵尸进程)
-
-
-
CPU% (CPU使用率)
- 进程占用的CPU百分比, 最直观的性能指标之一
-
MEM% (内存使用率)
- 进程占用系统总内存的百分比, 与CPU占用率一样为最直观的性能指标之一
-
TIME+ (累计CPU时间)
-
进程占用的CPU时间, 包括用户态和内核态时间
-
格式为:
[分钟]:[秒].[毫秒]
-
-
Command (命令)
- 启动对应进程的命令行

