目录
简介
在 Linux 系统中,top 命令是日常管理工作中最常用也是最重要的监控工具之一,用来显示系统中正在运行的进程的实时状态,比如 CPU 利用情况、内存消耗情况,以及每个进程情况等。但其缺点就是只支持键盘操作,显示也单调。你知道吗?还有另外一个命令行工具 htop。
htop是Linux系统下一个基本文本模式的、交互式的进程查看器,主要用于控制台或shell中,可以替代top,或者说是top的高级版。
htop命令优点:
- 快速查看关键性能统计数据,如CPU(多核布局)、内存/交换使用;
- 可以横向或纵向滚动浏览进程列表,以查看所有的进程和完整的命令行;
- 杀掉进程时可以直接选择而不需要输入进程号;
- 通过鼠标操作条目;
- 比top启动得更快;
这篇文章,我们就来学习使用 htop 命令。
安装
Centos6系列好像是默认没有带有htop的安装包,它的官网地址是: http://hisham.hm/htop/ ,官方提供了源码包和适用于各种主流linux的二进制程序包。二进制程序包(仅限于RHEL或者Centos等版本)的下载地址: http://pkgs.repoforge.org/htop/ ,源码包的下载地址:http://hisham.hm/htop/releases/ 这两个网址均为官方提供的,包含了htop的所有版本的二进制程序和源代码。
htop使用的是GPL协定,所以如果在htop的基础上改写的话就必须开源.
下面是我亲测的安装步骤:
CentOS7
yum install epel-release -y
yum install htop -y
CentOS6
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
yum install htop -y
Mac
brew install htop
依赖brew 来安装,如果有疑问可以参考:Mac安装HomeBrew,Htop_Ken的博客-CSDN博客
Ubuntu
sudo apt-get install htop
参考文档:Ubuntu下最强大的进程监视器htop使用_Linux教程_Linux公社-Linux系统门户网站
基本使用说明
我在截图上 标注了区域,下面我们按照区域介绍
0区域:从上至下,分别为CPU、内存、交换分区的使用情况,负载、内存消耗及交换空间的实时信息;
1区域: Tasks为进程总数,当前运行的进程数;Load average为系统1分钟,5分钟,10分钟的平均负载情况;Uptime为系统运行的时间;Time 是当前系统时间,hostname是主机名,Battery 是电池使用情况,这些是我按照需求 自己配置上去的;
2区域:是进程的不同统计项,各项分别为:
PID:进行的标识号
USER:运行此进程的用户
PRI:进程的优先级
NI:进程的优先级别值,默认的为0,可以进行调整
VIRT:进程占用的虚拟内存值
RES:进程占用的物理内存值
SHR:进程占用的共享内存值
S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态
%CPU:该进程占用的CPU使用率
%MEM:该进程占用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间
COMMAND:进程启动的启动命令名称
3区域:是常用的功能菜单,可以用快捷键,也可以鼠标点击。
2区域和3区域之间就是我们系统中运行的进程了。
常用快捷键
F1 h : 查看htop使用说明 ,帮助
F2 : 设置
F3 /: 搜索进程
F4 : 过滤器,按关键字搜索
F5 t: 显示树形结构 功能类似于pstree命令。
F6 : 选择排序方式 ,鼠标点击 表头都可以排序
F7 : 减少nice值,这样就可以提高对应进程的优先级
F8 : 增加nice值,这样可以降低对应进程的优先级
F9 k : 杀掉选中的进程
F10 q ctrl+c: 退出htopl :显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件
u :显示所有用户,并可以选择某一特定用户的进程
s : 将调用strace追踪进程的系统调用H :显示/隐藏用户线程
I :倒转排序顺序
K :显示/隐藏内核线程
M :按内存占用排序
P :按CPU排序
T :按运行时间排序上下键或PgUP, PgDn : 移动选中进程
左右键或Home, End : 移动列表
Space(空格) : 标记/取消标记一个进程。
这里大部分常用的快捷键,详情的,可以按F1键,自己研究,相信你一定还有意想不到的收获。
命令行选项
- -s 选项 : 按指定的列排序。例如,htop -s PID 命令会按 PID 列的大小排序来显示。
- -u 选项 : 显示指定的用户的进程信息列表。例如,htop -u himanshu 命令会只显示出用户名为 himanshu 的相关进程。
- -d 选项 : 设置刷新的延迟时间。例如,htop -d 100 命令会使输出在1秒后才会刷新(参数 -d 的单位是10微秒)。
个人的使用经验
也是我个人比较常用的东西。
- 注意,这里很多操作也都可以通过鼠标来完成,大家可以体验一下,非常好用。
- l 快捷键,显示进程打开的文件 ,常用来查看进程使用的配置文件
- s 将调用strace追踪进程的系统调用 Linux strace命令 - ggjucheng - 博客园
- 鼠标点击%CPU 和 %MEM 查看cpu 和内存的 使用情况排序
后续
后面还会和大家分享一些好用的工具 ,例如 :galances,dstat ,iftop 等
如果感兴趣,可以自己学习一下,有问题可以在评论区留言,大家一起沟通讨论。