Linux进程管理工具: pstree, ps, pidof, pgrep, top, htop, glance, pmap, vmstat, dstat, kill, job等等
何谓 htop?
Htop是一款运行于Linux系统监控与进程管理软件,用于取代Unix下传统的top。与top只提供最消耗资源的进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器、swap和内存状态。
用户一般可以在top无法提供详尽系统信息的情况下选择安装并使用htop。比如,在查找应用程序的内存泄漏问题时。与top相比,htop提供更方便、光标控制的界面来杀死进程。
htop用C语言编写,采用了ncurses库。htop的名称源于其作者的名字。
我接下来只介绍三个比较高大上的工具
htop:
安装htop:
yum –y install htop
htop 是一个 Linux 下的交互式的进程浏览器,top的增强版
选项:
-d #: 刷新时间间隔
-u USERNAME: 仅显示指定用户的进程
-s COLUMN: 以指定的字段进行排序
交互式命令:
u: 仅显示指定用户的进程
s: 跟踪选定进程发起的系统调用
l: 跟踪选定进程打开的文件
t: 显示进程树
a: 设定cpu亲缘性(将选定的进程绑定在某CPU上)
对于htop的具体用法,我想大家可以多查找一下相关文档,然后结合man手册做进一步的了解。
htop的显示效果图:
glances:
什么是 Glances?
Glances 是一个由 Python 编写,使用 psutil 库来从系统抓取信息的基于 curses 开发的跨平台命令行系统监视工具。 通过 Glances,我们可以监视 CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器 和 文件系统 空间的利用情况。
Glances 是一个用来监视 GNU/Linux 和 FreeBSD 操作系统的 GPL 授权的自由软件。
Glances 同时也提供了很多实用的选项。 其中我们能够在配置文件见到的一项主要的功能就是设置关键值及相应的标签 (careful[小心], warning[警告] 和 critical[严重]), 然后她会自动帮我们用不同颜色标出系统达到某个瓶颈的信息。
Glances 主要功能
CPU 信息 (用户的相关应用, 系统核心程序和空闲程序)
总内存信息,包括了物理内存,交换空间和空闲内存等等
之前的 1 分钟、5 分钟和 15 分钟平均的 CPU 负载
网络链接的下行和上行速度
处理器总数,以及其活动状态
硬盘 I/O 相关(读写)速度详情
当前挂载设备的磁盘使用情况
高 CPU 和内存使用的进程名,和相关应用的位置
在底部显示当前日期和时间
将消耗最高系统资源的进程用红色标出
交互式命令:有许多交互式命令来定义glances的显示信息,以及排序方式等;
h: 显示帮助
C/S模式下运行glances命令:
服务模式:
glances -s -B IPADDR(s是开启服务模式)
IPADDR:自己监听的本机地址
客户端模式:
glances -c IPADDR
IPADDR: 远程服务器监听的地址
glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [--password] [-t refresh] [-f file] [-o output]
-b: 以Byte为单位显示网卡数据速率;
-d: 关闭磁盘I/O模块
-f /path/to/somewhere: 设置输出文件的位置及其格式;
-o {HTML|CSV}
-m: 禁用mount模块
-n: 禁用网络模块
-t #: 指定刷新时间间隔
-1:每个CPU的数据单独显示
假如我想把本机的glances抓取的参数显示到web上,我可以通过设置nginx
1.首先编译安装nginx
2. cd /usr/local/nginx 切换到nginx目录下看看有没有html
3. glances -o HTML -f /usr/local/nginx/html
4.在web上输入比如我的虚拟机的ip地址是172.16.249.247,那么输出 172.16.249.247/glances.html
dstat: 支持插件
dstat是一个用来替换 vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具. 与sysstat相比, dstat拥有一个彩色的界面, 在手动观察性能状况时, 数据比较显眼容易观察; 而且dstat支持即时刷新, 譬如输入dstat 3, 即每三秒收集一次, 但最新的数据都会每秒刷新显示. 和sysstat相同的是, dstat也可以收集指定的性能资源, 譬如 dstat -c 即显示CPU的使用情况.
dstat [-afv] [options..] [delay [count]]
-c :cpu是也,显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息
-d :disk是也,显示磁盘读写数据大小
-g, --page page 显示页面使用情况
-i -int enable interrupt stats 启用中断数据
-l : load average 显示系统负载情况
-m :memory 显示内存使用情况
-p :process 显示进程状态
-r, --io
-s, --swap
-t, --time
-y, --sys
--aio: 显示异步io统计数据
--ipc: ipc相关的信息
--raw: raw socket
--tcp: tcp socket
--udp: udp socket
--socket: raw, tcp, udp
--unix: unix sock
--top-cpu:显示最占用CPU的进程
--top-bio:显示最占用block IO的进程
--top-mem: 显示最耗费内存的进程
--top-io:最占用IO的进程