一、top

    top命令用于显示系统当前的进程和其他状况;top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果再前台执行该命令,它将独占前台,直到用户终止该程序为止。

wKiom1Xn04qT4ScEAAZpyJk-rCY343.jpg

其中1-5行为统计信息区,剩余行为进程信息区;
1.统计信息区
1)第1行为任务队列信息(与uptime命令运行结果相同)
字段含义:当前时间     系统启动持续时间   当前登陆用户数    系统负载,即任务队列的平均长度备注:格式为"日期,时:分" 三个数值分别为1,5和15分钟前到现在的均值
2)第2行为进程信息
字段含义: 进程总数    正在运行的进程数   睡眠的进程数   已停止的进程数  僵死进程数
3)第3行为CPU信息
字段含义:us----用户空间占用CPU百分比;
                   sy----内核空间占用CPU百分比;
                   ni----用户进程空间内改变过优先级的进程占用CPU百分比
                   id----空闲CPU百分比
                   wa--等待io完成的CPU时间百分比
                   hi----硬件中断
                   si----软中断(模式切换)

                   st----被偷走的cpu时间比例
4)第4行为内存信息
字段含义:total----物理内存总量
                   used----使用的物理内存总量
                   free-----空闲内存总量
                   buffers--用作内核缓存的内存量
5)第5行为交换区swap的信息
字段含义:total----交换分区总量
                   used---已使用的交换区总量
                   free----空闲交换区总量
                  cached--缓冲的交换去总量


2.进程信息区
进程信息区详细列出了各进程的详细信息,其中每行代表一个进程;每列的含义如下:
列信息
信息内容:PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND
字段含义: PID----进程id
                   USER--进程所有者的用户名
                   PR-----进程的优先级
                   NI------nice值,负值表示更高的优先级,正值表示低优先级
                   VIRT---进程使用的虚拟内存总量,单位为kb。
                   RES----进程使用的、未被换出的物理内存的大小,单位为kb。
                   SHR---共享内存的大小,单位为kb
                   S-------进程状态
                              D---不可中断的睡眠状态
                              R---运行
                              S---睡眠
                              T---跟踪/停止
                              Z---僵尸进程
                   %CPU--上次更新到现在的CPU时间占用比
                   %MEM--进程使用的物理内存百分比
                   TIME ---进程使用的CPU时间总计,单位为1/100秒
                   COMMAND---命令行/命令名
备       注:以上显示的内容只是top命令的一部分内容,还有其他列,信息如下:
                  SWAP----进程使用的虚拟内存中,被换出的大小
                  CODE---可执行代码占用的物理内存大小,单位为kb
                  DATA----可执行代码以外的部分(数据段 栈)占用的物理内存大小,单位为kb
                  PPID------父进程ID
                  RUSER----real user name
                  UID--------进程所有者的用户id
                  GROUP--进程所有者的组名
                  TTY--------启动进程的终端名,不是从终端启动的进程则显示为?
                  #C--------Last used CPU (SMP)
                  TIME------进程使用的CPU时间总计,单位秒
                  nFLT------页面错误次数
                  nDRT-----最后一次写入到现在,被修改过的页面数
                  WCHAN--若该进程在睡眠,则显示睡眠中的系统函数名
                  Flags-----任务标志,参照sched.h
                  更改显示列的方法:
                  a)通过f键可以选择显示的内容,按f键后会显示列的列表,按a-z即可显示或隐藏对应的列,最后按回车键确定;
                  b)按o键可以改变列的显示顺序。按小写的a-z可以将相应的列向右移动,而大写的A-Z可以将相应的列向左移动。最后按回车键确定;
                  c)按大写F或O键,然后按a-z可以将进程按照相应的列进行排序。而大写的R键可以将当前的排序倒转;


二、htop

2.1、htop 简介

  htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中)。

与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。

与top相比,htop有以下优点:

  • 可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。

  • 在启动上,比top 更快。

  • 杀进程时不需要输入进程号。

  • htop 支持鼠标操作。

  • top 已经很老了。


2.2、htop安装 

2.3、htop参数

wKiom1XnppGR0sjqAAa7_Kj9a8w275.jpg

上面左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载、开机时间,下面就是进程实时状况。

下面是 F1~F10 的功能和对应的字母快捷键。

F1 查看htop使用说明 

F2 htop 设定 

F3 搜索进程 

F4 增量进程过滤器 

F5 显示树形结构 

F6 选择排序方式 

F7 可减少nice值,这样就可以提高对应进程的优先级 

F8 可增加nice值,这样就可以降低对应进程的优先级 

F9 可对进程传递信号 

F10 结束htop 


命令行选项(COMMAND-LINE OPTIONS)

-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)

上下键或PgUP, PgDn 选定想要的进程,左右键或Home, End 移动字段,当然也可以直接用鼠标选定进程;

Space    标记/取消标记一个进程。命令可以作用于多个进程,例如 "kill",将应用于所有已标记的进程

U    取消标记所有进程

s    选择某一进程,按s:用strace追踪进程的系统调用

l    显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件

I    倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然

+, -    When in tree view mode, expand or collapse subtree. When a subtree is collapsed a "+" sign shows to the left of the process name.

a (在有多处理器的机器上)    设置 CPU affinity: 标记一个进程允许使用哪些CPU

u    显示特定用户进程

M   按Memory 使用排序

P    按CPU 使用排序

T   按Time+ 使用排序

F    跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。

K    显示/隐藏内核线程

H   显示/隐藏用户线程

Ctrl-L    刷新

Numbers   PID 查找: 输入PID,光标将移动到相应的进程上


2.3.1、按F1查看帮助

wKioL1XnzbaAbzdzAALrzZd5Phk095.jpg


2.3.2、按F2设定

wKiom1XnzGbwUgtuAAHrn4nTfMo269.jpg

上方左右两栏的显示方式分为Text Bar Graph Led 四种

2.3.3、按下F3鼠标 或者点击Search 或者输入"/", 输入进程名进行搜索,例如搜索ssh

wKioL1Xn0WDjo47nAAYu-T7xXkI439.jpg


2.3.4、按下F4进入过滤器,相当于关键字搜索,不区分大小写,例如过滤dev

wKiom1Xnz4mixqm2AANzcYZ9VGA076.jpg


2.3.5、 F5显示树形结构

    显示树形结构,意思跟pstree 差不多,能看到所有程序树状执行的结构,这对于系统管理来说相当方便,理清程序是如何产生的,当然树状结构的浏览也可以依照其他数据来排序。

wKioL1Xn0sPDXN0lAAfo6bCca74934.jpg


2.3.6、 选择排序方式

按下F6 就可以选择依照什么来排序,最常排序的内容就是cpu 和memory 吧!

wKioL1Xn1BOyfwsHAAgt7h9HMoI909.jpg


2.3.7 操作进程

F7、F8分别对应nice-和nice+,F9对应kill给进程发信号,选好信号回车就OK了

wKiom1Xn0mryYA6tAAbzT8ua2zY530.jpg



三、glances

3.1、glances简介

    glances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发,使用psutil 库来采集系统数据,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。相对于top/vmstat/iostat等老牌监控工具,glances具有的优点是:Glances 可以监控本机也可以通过客户端服务器模式监控其他机器;Glances 提供了基于 XML/RPC 的 API 便于其他程序调用,可编程;Glances 可以将数据输出保存到 csv 或 html 格式的文件方便其他程序处理(报告或绘制图形)。


3.2、glances安装

3.3、glances显示信息说明

wKiom1Xn7lGwGBrvAAVpzWYy9S8513.jpg


VIRT: 虚拟内存大小
RES: 进程占用的物理内存值
CPU%:该进程占用的 CPU 使用率
MEM%:该进程占用的物理内存和总内存的百分比
PID: 进程 ID 号
USER: 进程所有者的用户名
TIME+: 该进程启动后占用的总的 CPU 时间
IOR/s 和 IOW/s: 进程的读写 I/O 速率
NAME: 进程名称
NI: 进程优先级
S: 进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态。


四、dstat

4.1、dstat简介

    dstat工具默认情况下会动态显示CPU,disk,net,page,system负载情况


4.2、安装dstat

root@pyhon ~]# yum install -y dstat

wKioL1Xn9EbCv-NUAAB6AJvKK_E423.jpg

-C 当有多个CPU时候,此参数可按需分别显示cpu状态;如 -C 0,1 显示cpu0和cpu1的信息


wKiom1Xn7_KBqJz0AAEvZwsX4qI847.jpg

-d disk,显示磁盘读写数据大小

-D 指定磁盘读写数据大小

wKiom1Xn8LWAwf2DAADiK1YBI44427.jpg

-n net 显示网络状态

-N net 有多块网卡时,指定要显示的网卡

wKiom1Xn8MvhmFqWAADxlOwWcJo591.jpg

-l load average 显示系统负载情况

wKioL1Xn8wCDoK0ZAABUwACcul4684.jpg

-m memory 显示内存使用情况

wKiom1Xn8PbBjXTDAACGeXMrrnM430.jpg

-g page 显示页面使用情况

wKioL1Xn8zLytx94AABL0eRTOJg041.jpg

-p process 显示进程状态

wKiom1Xn8SXCTjNCAABU9xL82Dw199.jpg

-s swap 显示交换分区使用情况

wKioL1Xn82DQmLCWAABT28ROKAU623.jpg

-r I/O请求情况

wKiom1Xn8WWDoX6LAABU8ecKGT4520.jpg

-y system status

wKioL1Xn86WT00ZpAABV4ASPWmM386.jpg

--ipc 显示ipc消息队列,信号等信息

wKiom1Xn8ZzAPr9dAAC9rleFRXc353.jpg

--socket 用来显示tcp udp端口状态

wKioL1Xn8-GwagQBAAB807udXM0521.jpg

-v vmstat 等同于 -pmgdsc -D total

wKiom1Xn8deisx8zAAGu6h8TbiA064.jpg