htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
Htop是一款运行于Linux系统监控与进程管理软件,用于取代Unix下传统的top。[1]
与top只提供最消耗资源的进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器、swap和内存状态。
用户一般可以在top无法提供详尽系统信息的情况下选择安装并使用htop。比如,在查找应用程序的内存泄漏问题时。与top相比,htop提供更方便、光标控制的界面来杀死进程。
htop的安装非常简单,使用conda即可。由于htop经常使用,我建议安装在base环境下。
conda install -y htop
安装好后,输入htop按回车即可查看进程,按F10或q可退出。
区域一:CPU、内存、Swap的使用情况;
区域二:任务、线程、平均负载及系统运行时间的信息。平均负载部分提供了三个数字,这仅仅表示的是过去的5分钟、10分钟和15分钟系统的平均负载而已。uptime标示的数字是从系统启动起到当前的运行总时间。
区域三:当前系统中的所有进程。各列说明:
区域四:当前界面中F1-F10功能键中定义的快捷功能。
htop的界面基本可以分为三部分。
如图中显示,一共有12个线程,0个线程被占用;一共有126G物理内存,3.35G被占用;共有186个任务,一个正在运行等。
2为进程区域,显示了当前系统中的所有进程,其中包括命令的的PID、占用资源情况、运行时间和具体命令。
3为操作提示区,显示了当前界面中F1-F10功能键中定义的快捷功能。
如图中显示,F1为帮助文档,F10为退出。
#-p参数查看指定进程信息
[root@s146 ~]# htop -p 4035
#-u参数查看指定用户进程信息
[root@s146 ~]# htop -u wuhs
#-d指定刷新间隔,单位十分之一秒
#[root@s146 ~]# htop -d 50
#-s参数指定列排序,列名不是进程头行看到的哦
[root@s146 ~]# htop -s M_SIZE
-C --no-color 使用一个单色的配色方案
-d --delay=DELAY 设置延迟更新时间,单位秒
-h --help 显示htop 命令帮助信息
-u --user=USERNAME 只显示一个给定的用户的过程
-p --pid=PID,PID… 只显示给定的PIDs
-s --sort-key COLUMN 依此列来排序
-v –version 显示版本信息
交互式命令(INTERACTIVE COMMANDS)
这里我只分享我最常用的几个操作。在我的日常中,htop往往充斥着运行前、运行时和运行后。
在运行程序前,通过htop看看服务器目前的资源使用情况,避免出现和其他人发生冲突,使服务器处于过载的情况。
这时只需要直接输入htop即可,另外点击任意参数都可以进行排序,如CPU、MEM等。
在运行程序时,通过htop查看命令是否正常运行,通常显示CPU或内存被占用就默认正常运行。
比如我要将程序命令放在后台,nohup command &回车后,输入htop,再按u即可选择用户,展示特定用户的占用情况,我再输入自己的用户名,就可以看看自己的运行情况啦。
在运行程序后,我会用htop来看看是否会有因各种原因处于休眠状态(没有退出),但仍占用资源的情况。
比如这里就存在休眠的程序,仍然在占用资源,根据自己的需要进行kill。