一、top

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

Linux进程管理相关命令详解_第1张图片

其中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安装 

[root@pyhon ~]# yum install -y htop       #配置epel源后安装htop


2.3、htop参数

Linux进程管理相关命令详解_第2张图片

上面左上角显示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    显示特定用户进程

   按Memory 使用排序

P    按CPU 使用排序

   按Time+ 使用排序

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

K    显示/隐藏内核线程

   显示/隐藏用户线程

Ctrl-L    刷新

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


2.3.1、按F1查看帮助

Linux进程管理相关命令详解_第3张图片


2.3.2、按F2设定

Linux进程管理相关命令详解_第4张图片

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


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

Linux进程管理相关命令详解_第5张图片


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

Linux进程管理相关命令详解_第6张图片


2.3.5、 F5显示树形结构

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

Linux进程管理相关命令详解_第7张图片


2.3.6、 选择排序方式

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

Linux进程管理相关命令详解_第8张图片


2.3.7 操作进程

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

Linux进程管理相关命令详解_第9张图片



三、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安装

[root@pyhon ~]# yum install -y glances


3.3、glances显示信息说明

[root@pyhon ~]# glances

Linux进程管理相关命令详解_第10张图片

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


4.3、常用参数:

-c cpu是也,显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息

Linux进程管理相关命令详解_第11张图片

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

[root@pyhon ~]# dstat -C 0,1

wKiom1Xn7_KBqJz0AAEvZwsX4qI847.jpg

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

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

wKiom1Xn8LWAwf2DAADiK1YBI44427.jpg

-n net 显示网络状态

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

wKiom1Xn8MvhmFqWAADxlOwWcJo591.jpg

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

wKioL1Xn8wCDoK0ZAABUwACcul4684.jpg

-m memory 显示内存使用情况

Linux进程管理相关命令详解_第12张图片

-g page 显示页面使用情况

wKioL1Xn8zLytx94AABL0eRTOJg041.jpg

-p process 显示进程状态

Linux进程管理相关命令详解_第13张图片

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

Linux进程管理相关命令详解_第14张图片

-r I/O请求情况

Linux进程管理相关命令详解_第15张图片

-y system status

Linux进程管理相关命令详解_第16张图片

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

Linux进程管理相关命令详解_第17张图片

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

Linux进程管理相关命令详解_第18张图片

-v vmstat 等同于 -pmgdsc -D total

wKiom1Xn8deisx8zAAGu6h8TbiA064.jpg