Linux进程查看及管理工具(ps, vmstat, dstat, glances等)
- pstree
- ps
- pgrep/pkill
- top/ptop
- vmstat
- dstat
- pmap
- glances
1. pstree
pstree - display a tree of processes
[root@localhost /]# pstree
2. ps [option] …
ps (process state) : repoat a snapshot of the current processes - 是描述当前进程的一个快照,是一个静态状态
Note: Linux各进程相关信息均保存在/proc/PID目录下的各文件中
option:支持3种风格,UNIX options, BSD options, GNU long options
2.1 ps 常用选项
usual option | function |
---|---|
-a | 与终端相关的进程 |
-x | 与终端无关的进程 |
-u | 以用户为中心组织进程状态信息显示 |
aux | 常用组合 |
-e | 显示所有进程 |
-f | 显示完整格式的进程信息 |
-ef | 显示完整格式的所有进程信息 |
-F | 显示完整格式的进程信息 |
-H | 以进程层级格式显示进程信息 |
-efH | 常用组合 |
-eo | 以指定的格式显示进程信息(-eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm) |
axo | axo(stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm) |
2.2 ps 查看进程的各参数说明
[root@localhost 1]# ps -aux | head -1
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND|
Name | Explain |
---|---|
USER | 进程属主 |
PID | 进程id号 |
%CPU | 该进程使用CPU占比 |
%MEM | 该进程使用内存占比 |
VSZ | Virtual Memory Size : 虚拟内存集 |
RSS | ReSident Size :常驻内存集 |
TTY | 进程启用的终端 |
STAT | 进程状态 |
ni | nice值 |
pri | priority-优先级 |
psr | processor-处理器 |
rtprio | 实时优先级 |
2.3 进程状态
State | Explain |
---|---|
R | running-运行态 |
S | interruptable sleeping-可中断睡眠状态 |
D | uninterruptal sleeping-不可中断睡眠状态 |
T | stopped-停止态 |
Z | zombie-僵死态 |
+ | 前台进程 |
1 | 多线程进程 |
N | 低优先级进程 |
< | 高优先级进程 |
s | session leader |
3. pgrep, pkill
可使用man pgrep查看其具体的使用方法
pgrep, pkill - look up or signal processes based on name and other attributes
SYNOPSIS:
pgrep [options] pattern
pkill [options] pattern
4. top/htop
这两个工具的详细信息可查看另一篇博客
5. vmstat
NAME vmstat - Report virtual memory statistics
SYNOPSIS vmstat [options] [delay [count]] : delay表示多长时间刷新一次, countb表示刷新次数
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数.
[root@localhost 1]# vmstat 3 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 308992 128716 68 337964 2 14 174 47 61 45 0 0 100 0 0
0 0 308992 128724 68 337964 0 0 0 0 143 128 0 0 100 0 0
5.1 vmstat结果参数介绍
procs
r-等待运行进程的个数
b-处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
memory
swap-交换内存的使用总量
free-空闲物理内存使用总量
buff-用于缓冲的内存总量
cache-用于缓存的物理总量
swap
si-数据进入swap中的数据速率(kb/s)
so-数据离开iswap中的数据速率(kb/s)
io
bi-从块设备读入数据到系统的速率(kb/s)
bo- 保存数据到块设备的速率(kb/s)
system
in- interrupts(中断速率)
cs-context switch(进程切换速率
cpu
us-用户空间使用占比
sy-系统空间使用占比
id-空闲占比
wa-等待占比
![]()
Note:
如果CPU的id(空闲率)长期低于10%,那么表示CPU的资源已经非常紧张,应该考虑进程优化或添加更多地CPU。
wa(等待IO): 表示CPU因等待IO资源而被迫处于空闲状态,这时候的CPU并没有处于运算状态,而是被白白浪费了,所以“等待IO应该越小越好。
5.2 vmstat可选参数介绍
可使用 vmstat –help查看可选参数及其功能介绍
Option | Explain |
---|---|
-a | active/inactive memory(活跃和非活跃内存) |
-f –forks | number of forks since boot |
-m, –slabs | slabinfo |
-m, –slabs | slabinfo |