除了管理员,大多数使用者往往不会去看自己的程序占用了多少资源,也不会关注自己是否会把公用的资源用完。考虑到很少有人有自己的服务器,因此我强烈建议所有生信人学会对自己进程进行管理。
之前刚接触服务器的时候,我还不太会看自己使用资源的情况,直到我使用hisat2比对的时候把服务器的资源(线程)全占满了【Linux||你的服务器怎么一片绿?】,我才开始去了解。
今天给大家推荐一个交互式进程查看器——htop。
事实上,我在之前的推文里有提到过top【Linux||后台运行及查看状态命令】,但我几乎不用。最近才发现,身边做生信的往往不太知道htop这个好用的工具。
Htop是一款运行于Linux系统监控与进程管理软件,用于取代Unix下传统的top。[1]
与top只提供最消耗资源的进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器、swap和内存状态。
用户一般可以在top无法提供详尽系统信息的情况下选择安装并使用htop。比如,在查找应用程序的内存泄漏问题时。与top相比,htop提供更方便、光标控制的界面来杀死进程。
安装
htop的安装非常简单,使用conda即可。由于htop经常使用,我建议安装在base环境下。
conda install -y htop
界面
安装好后,输入htop按回车即可查看进程,按F10或q可退出。
htop的界面基本可以分为三部分。
- 1代表资源占用情况和服务器运行情况,主要显示了CPU(线程数)、物理内存和交换分区的信息,以及任务数量、平均负载和连接运行时间等信息。
如图中显示,一共有12个线程,0个线程被占用;一共有126G物理内存,3.35G被占用;共有186个任务,一个正在运行等。
-
2为进程区域,显示了当前系统中的所有进程,其中包括命令的的PID、占用资源情况、运行时间和具体命令。
-
3为操作提示区,显示了当前界面中F1-F10功能键中定义的快捷功能。
如图中显示,F1为帮助文档,F10为退出。
使用
这里我只分享我最常用的几个操作。在我的日常中,htop往往充斥着运行前、运行时和运行后。
运行程序前
在运行程序前,通过htop看看服务器目前的资源使用情况,避免出现和其他人发生冲突,使服务器处于过载的情况。这时只需要直接输入htop即可,另外点击任意参数都可以进行排序,如CPU、MEM等。
运行程序时
在运行程序时,通过htop查看命令是否正常运行,通常显示CPU或内存被占用就默认正常运行。
比如我要将程序命令放在后台,nohup command &回车后,输入htop,再按u即可选择用户,展示特定用户的占用情况,我再输入自己的用户名,就可以看看自己的运行情况啦。
运行程序后
在运行程序后,我会用htop来看看是否会有因各种原因处于休眠状态(没有退出),但仍占用资源的情况。
比如这里就存在休眠的程序,仍然在占用资源,根据自己的需要进行kill。
更多更详细的教程,原作者在youtube上传了视频[2],大家可以自取。也可以看中文文档htop使用详解--史上最强(没有之一)[3]。
另附,htop官网:https://htop.dev/
htop的github页面:https://github.com/htop-dev/htop
参考资料
[1]维基百科: https://zh.wikipedia.org/wiki/Htop#cite_note-1[2]Youtube视频: https://youtu.be/L25waVhy78o
[3]htop中文文档: https://cloud.tencent.com/developer/article/1115041
网友评论