1. 首页 > Linux教程 > 正文

Linux教程FG162-htop命令系统监控

内容大纲

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

1. htop命令概述

htop命令是top命令的增强版,提供了更友好的交互界面和更多功能。htop支持鼠标操作、彩色显示、进程树视图等特性。

# htop命令的主要功能
# 交互式界面:支持鼠标操作和键盘快捷键
# 彩色显示:不同颜色表示不同的进程状态
# 进程树视图:显示进程的父子关系
# 垂直和水平滚动:方便查看大量进程
# 杀死进程:直接选择进程并杀死
# 改变进程优先级:直接调整进程优先级

2. htop命令安装

使用dnf命令安装htop。

# 安装htop

# 1. 安装htop软件包
[root@localhost ~]# dnf install -y htop
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:01 ago on Fri 03 Apr 2026 10:00:00 CST.
Dependencies resolved.
================================================================================================================
Package Architecture Version Repository Size
================================================================================================================
Installing:
htop x86_64 3.0.5-9.el9 baseos 300 k
Installing dependencies:
libncursesw x86_64 6.2-8.20210508.el9 baseos 400 k

Complete!

# 2. 验证安装
[root@localhost ~]# htop –version
htop 3.0.5
Copyright (C) 2004-2022 Hisham Muhammad
Released under the GNU GPL.

# 3. 启动htop
[root@localhost ~]# htop

3. htop命令基本使用

使用htop命令查看系统实时状态。

学习交流加群风哥QQ113257174

# htop命令基本使用

# 1. 启动htop
[root@localhost ~]# htop
1 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Tasks: 123, 12 thr; 1 running
2 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Load average: 0.10 0.15 0.12
3 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Uptime: 1 day, 02:30:00
4 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%]
Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||25.0%]
Swp[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0.0%]

PID USER PRI SIZE RES SHR S %CPU %MEM TIME+ Command
1234 root 20 12M 10M 4M S 2.5 0.1 0:00.05 systemd
2345 root 20 6M 5M 2M S 1.0 0.1 0:00.03 kworker/u4:0
3456 mysql 20 2048M 512M 100M S 0.5 6.3 1:23.45 mysqld
4567 nginx 20 256M 50M 20M S 0.3 0.6 0:12.34 nginx
5678 root 20 128M 10M 4M R 0.2 0.1 0:00.01 htop

# 2. 查看特定用户的进程
[root@localhost ~]# htop -u mysql
1 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Tasks: 5, 12 thr; 0 running
2 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Load average: 0.10 0.15 0.12
3 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Uptime: 1 day, 02:30:00
4 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%]
Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||25.0%]
Swp[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0.0%]

PID USER PRI SIZE RES SHR S %CPU %MEM TIME+ Command
3456 mysql 20 2048M 512M 100M S 0.5 6.3 1:23.45 mysqld
3457 mysql 20 1024M 256M 50M S 0.3 3.1 0:45.67 mysqld
3458 mysql 20 512M 128M 25M S 0.2 1.5 0:23.89 mysqld
3459 mysql 20 256M 64M 12M S 0.1 0.8 0:12.34 mysqld
3460 mysql 20 128M 32M 6M S 0.1 0.4 0:06.78 mysqld

# 3. 查看特定进程
[root@localhost ~]# htop -p 3456
1 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Tasks: 1, 12 thr; 0 running
2 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Load average: 0.10 0.15 0.12
3 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Uptime: 1 day, 02:30:00
4 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%]
Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||25.0%]
Swp[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0.0%]

PID USER PRI SIZE RES SHR S %CPU %MEM TIME+ Command
3456 mysql 20 2048M 512M 100M S 0.5 6.3 1:23.45 mysqld

# 4. 设置刷新间隔
[root@localhost ~]# htop -d 5
1 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Tasks: 123, 12 thr; 1 running
2 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Load average: 0.10 0.15 0.12
3 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Uptime: 1 day, 02:30:00
4 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%]
Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||25.0%]
Swp[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0.0%]

PID USER PRI SIZE RES SHR S %CPU %MEM TIME+ Command
1234 root 20 12M 10M 4M S 2.5 0.1 0:00.05 systemd
2345 root 20 6M 5M 2M S 1.0 0.1 0:00.03 kworker/u4:0
3456 mysql 20 2048M 512M 100M S 0.5 6.3 1:23.45 mysqld
4567 nginx 20 256M 50M 20M S 0.3 0.6 0:12.34 nginx
5678 root 20 128M 10M 4M R 0.2 0.1 0:00.01 htop

4. htop命令交互操作

在htop命令中使用交互式操作。

学习交流加群风哥微信: itpux-com

# htop命令交互操作

# 1. 按CPU使用率排序(按F6键)
# 在htop界面中按F6键,进程将按CPU使用率排序

# 2. 按内存使用率排序(按F4键)
# 在htop界面中按F4键,进程将按内存使用率排序

# 3. 按进程ID排序(按F3键)
# 在htop界面中按F3键,进程将按进程ID排序

# 4. 显示进程树视图(按F5键)
# 在htop界面中按F5键,将显示进程的父子关系

# 5. 杀死进程(按F9键)
# 在htop界面中按F9键,选择要杀死的进程,然后选择信号

# 6. 改变进程优先级(按F7/F8键)
# 在htop界面中按F7键降低优先级,按F8键提高优先级

# 7. 显示特定用户的进程(按u键)
# 在htop界面中按u键,然后输入用户名

# 8. 搜索进程(按/键)
# 在htop界面中按/键,然后输入进程名

# 9. 切换颜色模式(按z键)
# 在htop界面中按z键,将切换颜色模式

# 10. 退出htop(按q键)
# 在htop界面中按q键,将退出htop

更多学习教程公众号风哥教程itpux_com

5. htop命令配置

配置htop命令。

# htop命令配置

# 1. 创建配置目录
[root@localhost ~]# mkdir -p ~/.config/htop

# 2. 创建配置文件
[root@localhost ~]# cat > ~/.config/htop/htoprc << 'EOF' # htop配置文件 # 字段配置 fields=0 48 17 18 38 39 40 2 46 47 49 1 # 排序字段 sort_key=46 # 排序方向 sort_direction=1 # 显示线程 show_threads=1 # 显示程序路径 show_program_path=1 # 高亮基础名称 highlight_base_name=1 # 颜色方案 color_scheme=0 # 延迟时间 delay=3 # 左边距 left_meters=AllCPUS Memory Swap # 右边距 right_meters=Tasks LoadAverage Uptime EOF # 3. 使用配置文件启动htop [root@localhost ~]# htop 1 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Tasks: 123, 12 thr; 1 running 2 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Load average: 0.10 0.15 0.12 3 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Uptime: 1 day, 02:30:00 4 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||25.0%] Swp[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0.0%] PID USER PRI SIZE RES SHR S %CPU %MEM TIME+ Command 1234 root 20 12M 10M 4M S 2.5 0.1 0:00.05 systemd 2345 root 20 6M 5M 2M S 1.0 0.1 0:00.03 kworker/u4:0 3456 mysql 20 2048M 512M 100M S 0.5 6.3 1:23.45 mysqld 4567 nginx 20 256M 50M 20M S 0.3 0.6 0:12.34 nginx 5678 root 20 128M 10M 4M R 0.2 0.1 0:00.01 htop # 4. 创建全局配置文件 [root@localhost ~]# cat > /etc/htoprc << 'EOF' # htop全局配置文件 # 字段配置 fields=0 48 17 18 38 39 40 2 46 47 49 1 # 排序字段 sort_key=46 # 排序方向 sort_direction=1 # 显示线程 show_threads=1 # 显示程序路径 show_program_path=1 # 高亮基础名称 highlight_base_name=1 # 颜色方案 color_scheme=0 # 延迟时间 delay=3 # 左边距 left_meters=AllCPUS Memory Swap # 右边距 right_meters=Tasks LoadAverage Uptime EOF # 5. 验证配置 [root@localhost ~]# htop -C 1 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Tasks: 123, 12 thr; 1 running 2 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Load average: 0.10 0.15 0.12 3 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Uptime: 1 day, 02:30:00 4 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||25.0%] Swp[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0.0%] PID USER PRI SIZE RES SHR S %CPU %MEM TIME+ Command 1234 root 20 12M 10M 4M S 2.5 0.1 0:00.05 systemd 2345 root 20 6M 5M 2M S 1.0 0.1 0:00.03 kworker/u4:0 3456 mysql 20 2048M 512M 100M S 0.5 6.3 1:23.45 mysqld 4567 nginx 20 256M 50M 20M S 0.3 0.6 0:12.34 nginx 5678 root 20 128M 10M 4M R 0.2 0.1 0:00.01 htop

6. 实战案例

使用htop命令监控系统性能。

更多视频教程www.fgedu.net.cn

# 实战案例:使用htop命令监控系统性能

# 1. 启动htop
[root@localhost ~]# htop
1 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Tasks: 123, 12 thr; 1 running
2 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Load average: 0.10 0.15 0.12
3 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Uptime: 1 day, 02:30:00
4 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%]
Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||25.0%]
Swp[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0.0%]

PID USER PRI SIZE RES SHR S %CPU %MEM TIME+ Command
1234 root 20 12M 10M 4M S 2.5 0.1 0:00.05 systemd
2345 root 20 6M 5M 2M S 1.0 0.1 0:00.03 kworker/u4:0
3456 mysql 20 2048M 512M 100M S 0.5 6.3 1:23.45 mysqld
4567 nginx 20 256M 50M 20M S 0.3 0.6 0:12.34 nginx
5678 root 20 128M 10M 4M R 0.2 0.1 0:00.01 htop

# 2. 按CPU使用率排序(按F6键)
# 在htop界面中按F6键,进程将按CPU使用率排序

# 3. 按内存使用率排序(按F4键)
# 在htop界面中按F4键,进程将按内存使用率排序

# 4. 显示进程树视图(按F5键)
# 在htop界面中按F5键,将显示进程的父子关系

# 5. 查看特定用户的进程(按u键,然后输入mysql)
# 在htop界面中按u键,然后输入mysql

# 6. 搜索进程(按/键,然后输入nginx)
# 在htop界面中按/键,然后输入nginx

# 7. 创建监控脚本
[root@localhost ~]# cat > /usr/local/bin/htop-monitor.sh << 'EOF' #!/bin/bash # script.sh # from:www.itpux.com.qq113257174.wx:itpux-com # web: http://www.fgedu.net.cn # htop监控脚本 LOG_FILE="/var/log/htop-monitor.log" ALERT_EMAIL="admin@fgedu.net.cn" # 记录日志函数 log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> $LOG_FILE
}

# 检查CPU使用率
check_cpu() {
CPU_USAGE=$(top -b -n 1 | grep “Cpu(s)” | awk ‘{print $2}’ | sed ‘s/us,//’)

if [ $(echo “$CPU_USAGE > 80” | bc) -eq 1 ]; then
log “WARNING: CPU usage is ${CPU_USAGE}%”
echo “CPU usage is ${CPU_USAGE}%” | mail -s “WARNING: CPU usage alert” $ALERT_EMAIL
fi
}

# 检查内存使用率
check_memory() {
MEMORY_USAGE=$(free | grep Mem | awk ‘{printf(“%.0f”), $3/$2 * 100.0}’)

if [ “$MEMORY_USAGE” -gt 80 ]; then
log “WARNING: Memory usage is ${MEMORY_USAGE}%”
echo “Memory usage is ${MEMORY_USAGE}%” | mail -s “WARNING: Memory usage alert” $ALERT_EMAIL
fi
}

# 主函数
main() {
log “Starting htop monitoring…”
check_cpu
check_memory
log “Htop monitoring completed.”
}

# 执行主函数
main
EOF

# 8. 设置脚本执行权限
[root@localhost ~]# chmod +x /usr/local/bin/htop-monitor.sh

# 9. 配置定时任务
[root@localhost ~]# echo “*/5 * * * * root /usr/local/bin/htop-monitor.sh” > /etc/cron.d/htop-monitor

# 10. 重启cron服务
[root@localhost ~]# systemctl restart crond

# 11. 测试监控脚本
[root@localhost ~]# /usr/local/bin/htop-monitor.sh

# 12. 查看日志
[root@localhost ~]# tail -f /var/log/htop-monitor.log
[2026-04-03 10:00:00] Starting htop monitoring…
[2026-04-03 10:00:05] Htop monitoring completed.

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息