基本概念
进程的优先级
0-139 共140个进程,数字越小,优先级越高
内核控制:0-99 动态优先级
用户控制:100-139 静态优先级
nice值
-20-19 对应 100-139
-20 对应 100
19 对应 139
nice值越小,优先级越高。通过nice可以调整进程的优先级
'' root可以随便调整nice值,普通用户仅仅可以调大nice值 ''
PID (process ID) 进程ID
- init : pid 1
进程的状态
stopped: 停止
ready: 可以运行但是尚未开始
running: 运行
interrupt: 可中断睡眠
ununterrupt: 不可终端睡眠
zombie: 僵尸进程
根据启动方式分类
终端相关进程
终端无关进程
进程相关命令
1.pstree
以树状显示进程的父子状态
- 不过没有安装手动安装,软件名为 psmisc
2.ps
process state
作用:
显示系统中的进程的详细信息,一般和 grep 配合使用
选项:
- unix类型: -字母
- BSE类型: 字母
- GNU类型: --单词
/proc下那些以数字为名称的目录就是进程的信息映射
组合1: ps aux
a:显示先行终端下所有的进程信息
u:显示进程是那个用户发起的
x:显示终端无关的进程信息
USER:进程的属主
%CPU %MEM:占用内存和空间CPU时间的百分比
VSE:每个进程的虚拟内存集大小
RSS:每个进程的常驻内存集大小
TTY:终端编号 ?表示终端无关进程
SATA:进程的状态
具体参数看 man
START:进程的启动日期
TIME:进程在CPU上的累计运行时间
COMMAND:执行那个命令发起的这个进程
[]: 表示该进程由内核发起的进程
组合2: ps -elf
-e: 显示所有的进程,包括终端相关和无关,效果等于 ps au
-l: 以长格式显示详细信息
-f:显示进程的完整信息
F:表示进程的标志位
1:表示fork之后为执行的进程
4:超级用户进程
S:表示进程的状态
UID:进程的属主
PID:进程的ID号
PPID:进程的父进程的PID
C:CPU的使用率,证书显示
PRI:进程的优先级
NI:进程的NICE值
ADDR:运行中的进程在内存中的编号
SZ:进程用掉swap的大小
WCHAN:进程是否处于运行状态, - 表示正在运行
STIME
TTY
TIME:实际占用CPU的时间
CMD:哪一个命令发起的进程
组合3: ps -eFH
-F:显示比f更详细的信息
-H:以层级的方式显示
组合4:显示指定用户进程
-u:username 显示指定用户发起的京城
ps -u zx
组合5:显示发起指定进程的命令
-C 进程名
显示httpd进程的pid
ps -C httpd
3.pgrep和kill
pgrep:查找符合某个规则的进程(默认仅显示进程的ID)
kill:结束符合某个规则的进行
选项:
-U uid|userName:指定运行进程的真实用户(切换用户之前的用户)
-u uid|userName:指定运行进程的有效用户(当前运行进程的用户)
-t term:过滤指定终端相关的进程
例子:过滤处进程信息中包含bash的进程id
# pgrep bash
例子:过滤处以tom身份运行的进程,要求显示进程id和进程名称
# pgrep -u tom -l
例子:过滤出tom发起的进程
# pgrep -U tom
例子:过滤以tom身份运行,并且和bash相关的进程
# pgrep -u tom bash
4.pidof
显示指定进程的PID (显示的是静态信息)
5.top
以动态方式,实时显示系统的进程,cpu,内存等信息,默认每隔 5s 刷新一次
具体的参数含义看英文,很多也很重要
6.htop
top的升级版本,默认没有,需要自己下载。
7.vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b 交换 空闲 缓冲 缓存 si so bi bo in cs us sy id wa st
1 0 0 2728296 24564 2119932 0 0 32 43 49 82 0 0 99 0 0
procs:当前系统的队列信息
r:正在运行和等待运行的CPU的进程的数量
b:表示阻塞的队列长度(其实就是等待IO完成的进程的个数,也就是处于不可中断的进程的个数)
memory:表示的是内存相关的信息
swap:表示就是从物理内存移动到swap中的数据量
free:空闲物理内存大小
buff:缓存空间数据量(向磁盘进行写操作的内容)
cache:缓存空间数据量(从磁盘进行读操作的内容)
swap:使用swap的速率信息
si:数据进入交互分区的速率,kb/s
so:数据进入交互分区的速率,kb/s
io:显示磁盘IO的速率信息
bi:从内存向磁盘块写入数据的速率,kb/s
bo:内存从磁盘中读取数据的速率,kb/s
system:
in:系统每秒产生的中断数
cs(content switch):系统每秒进行多少次进程切换
8.dstat
dstat是vmstat的升级版
浙公网安备 33010602011771号