系统监视工具 | htop
引言
Htop 是一个交互式的系统监视器,提供了更加直观和友好的界面来显示系统的资源使用情况。是 top 命令的替代品,具有更多的功能和更好的可视化效果。
Htop 最初由 Hisham Muhammad 开发,在 2004 年发布第一个版本。它的目标是提供一个更先进的资源监视工具,能够更清晰地显示系统的运行状态,并提供更多的操作选项。
在 htop 中,可以轻松地浏览并管理系统上运行的进程、查看 CPU 和内存使用情况,并在需要时对进程执行各种操作。Htop 还提供可定制的界面,允许用户根据自己的需求进行配置。
随着时间的推移,Htop 不断发展,添加新的功能和改进,成为许多 Linux 和类 Unix 系统管理员喜爱的工具之一。其界面简单直观,功能丰富,使得用户更容易理解和管理系统资源。
基本语法:
htop
功能和用法:
-  界面介绍: - htop界面分为多个部分,包括进程列表、系统资源使用情况、命令栏等,通过彩色和符号对不同的信息进行标记和区分。
- 在进程列表中,可以看到每个进程的详细信息,如 PID、CPU 使用情况、内存占用、用户、进程优先级等。
 
-  交互式操作: - 使用箭头键可以在不同的进程间进行上下滚动选择。
- F2:进入设置界面,可以配置显示选项。
- F3和- F4:根据进程名和命令过滤显示。
- F5:刷新进程列表。
- F9:选择和发送信号给选定的进程。
 
-  排序和查看信息: - 默认情况下,按 CPU 使用率进行排序,但你可以通过按 F6键来选择不同的排序方式(如内存、PID等)。
- 在 htop中,你可以查看 CPU 使用率、内存占用情况、进程的树状结构等信息。
 
- 默认情况下,按 CPU 使用率进行排序,但你可以通过按 
-  进程管理: - 选中一个进程后,可以使用 F9键发送信号,如终止进程等。
- 可以通过 k键杀死选中的进程。
 
- 选中一个进程后,可以使用 
-  其他功能: - htop支持鼠标点击操作,便于在界面上选择和操作进程。
- 提供在命令行中执行操作选项,如按 U键显示特定用户的进程。
 
htop 是一个功能强大且易于使用的系统监视工具,能够帮助你更直观地了解系统资源的使用情况,并且通过交互式操作方便地管理进程。
基本界面和进程列表:
-  进程列表: - 进程列表,显示各个进程的详细信息,如进程ID(PID)、CPU利用率、内存使用情况等。
 
-  快捷键: - 使用箭头键上下移动光标选中不同的进程。
- F2进入设置界面,可以配置显示选项。
- F3输入过滤条件,筛选显示特定名称的进程。
- F4输入过滤条件,筛选显示特定命令的进程。
- F5刷新进程列表。
- F9选择并发送信号给选中的进程,比如终止进程等。
 
查看系统资源和排序:
-  资源查看: - 在顶部可以看到 CPU 和内存的使用情况,以及系统负载等信息。
 
-  资源排序: - 按 F6键可以选择不同的排序方式,比如按内存、PID等进行排序。
 
- 按 
其他操作和快捷键:
-  鼠标支持: - htop支持鼠标点击操作,可以在界面上选择和操作进程。
 
-  用户进程查看: - 按 U键可以选择显示特定用户的进程。
 
- 按 
这些只是 htop 的部分功能和操作示例。丰富的交互功能,能够更方便地管理和监视系统上的进程和资源。
 退出 htop,按 Ctrl + C 或者直接关闭终端窗口即可。
高级功能
htop 高级功能和示例:
1. 树状显示进程:
- 使用 F5刷新进程列表。
- 选中一个进程,按下 F2进入设置界面,启用 “Tree view”(树状视图)选项。
- 将以树状结构显示进程,更清晰地看到进程之间的父子关系和相互依赖。
2. 资源监控和显示:
- 选中 htop顶部的不同列标题,例如 CPU、内存等。
- 按下 Shift + P可以按 CPU 使用率进行排序。
- 按下 Shift + M可以按内存使用率进行排序。
- 这些快捷键可帮助你快速查找消耗资源最多的进程。
3. 进程详细信息查看:
- 选中一个进程后,按下 F1键查看详细信息。
- 显示有关选定进程的更多信息,如线程、文件描述符、内存映射等。
4. 用户自定义列显示:
- 按下 F2进入设置界面,在 “Available Columns”(可用列)中选择想要显示的列。
- 可以自定义进程列表中显示的列,根据自己的需求添加或删除特定信息。
5. 进程搜索和定位:
- 按下 /键进行进程搜索,输入进程名称,htop将会定位并高亮显示匹配的进程。
高级功能可以更详细地查看系统资源和进程信息,更好地理解系统的运行状态,并且根据需要采取相应的操作。
输出
htop 并不提供直接的格式化输出,可以使用一些其他的工具和方法将 htop 的输出转换为特定格式或进行记录。
1. 使用命令行选项:
- htop支持在命令行中使用选项,例如- -u用于筛选指定用户的进程,- -p用于选择指定的进程ID等。
2. 使用脚本保存输出:
-  可以编写一个脚本来定期运行 htop并将输出保存到文件中。比如使用 Bash 脚本:#!/bin/bash htop > htop_output.txt这个脚本会将 htop的输出保存到htop_output.txt文件中。
3. 结合其他工具处理输出:
- 将 htop的输出通过管道传递给其他命令,进行格式化或处理。比如结合awk、grep等工具来筛选和处理输出。
4. 使用第三方工具记录和分析:
- 使用类似 sysstat中的工具(如sar)进行系统性能监控,并将htop输出作为其中一部分信息进行记录。
5. 示例脚本,使用 htop 记录系统资源使用情况:
 
#!/bin/bash
# 设置记录文件名和时间间隔(秒)
LOG_FILE="system_stats.log"
INTERVAL=5
# 写入日志文件的标题行
echo "Timestamp, CPU(%), Mem(%), Swap(%)" > $LOG_FILE
# 循环记录系统资源使用情况
while true
do
    # 获取当前时间戳
    TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")
    # 使用 htop 和 grep 获取 CPU 和内存使用情况
    CPU_USAGE=$(htop -b -n1 | grep "CPU" | awk '{print $2}')
    MEM_USAGE=$(htop -b -n1 | grep "Mem" | awk '{print $2}')
    SWAP_USAGE=$(htop -b -n1 | grep "Swap" | awk '{print $2}')
    # 将数据写入日志文件
    echo "$TIMESTAMP, $CPU_USAGE, $MEM_USAGE, $SWAP_USAGE" >> $LOG_FILE
    # 等待一段时间后再次记录(间隔时间)
    sleep $INTERVAL
done
脚本定期(每隔指定的时间间隔)记录系统的 CPU 使用率、内存使用率和交换分区使用率,并将数据写入到名为 system_stats.log 的日志文件中。
使用这个脚本,将其保存为一个文件(例如 record_stats.sh),然后赋予执行权限 (chmod +x record_stats.sh)。运行脚本 (./record_stats.sh),开始记录系统资源使用情况,并将数据追加到指定的日志文件中。
总结:
总的来说,htop 是一个功能强大且易于使用的系统监视工具,通过交互式的界面和丰富的功能,更轻松地管理系统资源和进程。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!