今天我们来了解一下linux系统上进程的查看及管理的工具: htop、top、dstat、ps 它们可以帮助我们快速的去查找和定位问题,并可以对当前系统的运行状况及使情况进行实时打印;
接着我们说一下什么是进程, 在系统启动后全产生许多进程,进程就是运行中的程序的一个副本,进程是有生命周期的,一般会随着自身所在bash的关闭而关闭,所有进程都是在系统启动后由/sbin/init来创建的,而进程之间存在父子关系,所有的子进程都是由其父进程创建的;
进程与进程间存在优先级:1-139
1-99:实时优先级 (数字越小,优先级越高)
100-139:静态优先级
进程类型:
守护进程: 在系统引导过程中启动的进程,跟终端无关的进程;
前台进程:跟终端相关,通过终端启动的进程
注意:也可把在前台启动的进程送往后台,以守护模式运行;
进程状态:
运行态:running
就绪态:ready
睡眠态:
可中断:interruptable
不可中断:uninterruptable
停止态:暂停于内存中,但不会被调度,除非手动启动之;stopped
僵死态:zombie
接着我们说一下这几个工具
ps [options]:
选项有三种风格:UNIX、BSD、GNU
选项:
a: 所有与终端相关的进程;
x: 所有与终端无关的进程;
u: 以用户为中心来组织进程状态信息显示;
常用组全之一:aux
VSZ:虚拟内存集;(占用的虚拟内存)
RSS:Resident Size,常驻内存集;
CPU%:cpu时间占用比率
MEM%:内存占用百分比
STAT:
R:running(运行态)
S:interruptable sleeping(可中断睡眠)
D:uninterruptable sleeping(不可中断睡眠)
T:Stopped(停止态)
Z:zombie(僵死态)
+:前台进程
l:多线程进程
N:低优先级进程
<:高优先级进程
s:session leader (进程领导者)
常用组合之二:-ef
-e:显示所有进程
-f:显示完整格式的进程信息
常用组合之三:-eFH
-F:显示完整格式的进程信息;
C: cpu utilization
PSR:运行于哪颗CPU之上
-H:以层级结构显示进程的相关信息
常用组合之四:-eo, axo
o field1, field2,...:自定义要显示的字段列表,以逗号分隔;
常用的field:pid, ni, pri, psr, pcpu, stat, comm, tty, ppid, rtprio
ni:nice值;
priority:priority, 优先级;
rtprio:real time priority,实时优先级;
top命令:
- display Linux processes
排序:
P:以占据CPU百分比排序;
M:以占据内存百分比排序;
T:累积占用CPU时间排序;
首部信息:
uptime信息:l命令
tasks及cpu信息:t命令
内存信息:m命令
退出命令:q
修改刷新时间间隔:s
终止指定的进程:k
选项:
-d #:指定刷新时间间隔,默认为3秒;
-b:以批次方式显示;
-n #:显示多少批次;
第一行:系统时间、运行时长、登录用户数、平均负载
第二行:总任务数、运行数、睡眠数、停止数、僵死数
第三行:CPU: us:用户空间、sy:内核空间、ni:Nice值额外占用时间、id:空闲时间、wa:等待时间、hi:硬中断消耗百分比、si:软中断消耗百分比、st:虚拟化分走的时间比
第四行:内存总数、使用的、空闲的、缓冲的
第五行:交换分区总数、使用的、空闲的、缓存的
进程管理类命令:
htop命令:
选项:
-d #:指定延迟时间间隔;
-u UserName:仅显示指定用户的进程;
-s COLUME:以指定字段进行排序;
子命令:
l:显示选定的进程打开的文件列表;
s:跟踪选定的进程的系统调用;
t:以层级关系显示各进程状态;
a:将选定的进程绑定至某指定的CPU核心;
htop 是一个非常强大的工具,下面从F1到F10可以看到具体的参数信息
F1的帮助信息
也可在首页按F2进行CPU、MEM、SWAP的显示效果进行设置:
dstat:系统资源统计命令(动态)
dstat [-afv] [options..] [delay [count]]
常用选项:
-c, --cpu:显示cpu相关信息;
-C #,#,...,total
-d, --disk:显示磁盘的相关信息
-D sda,sdb,...,tobal
-g:显示page相关的速率数据;
-m:Memory的相关统计数据
-n:Interface的相关统计数据;
-p:显示process的相关统计数据;
-r:显示io请求的相关的统计数据;
-s:显示swapped的相关统计数据;
--tcp:显示tcp套接字
--udp:显示udp连接
--raw:显示裸套接字
--socket:套接字
--ipc:进程间通信信息
--top-cpu:显示最占用CPU的进程;
--top-io:最占用io的进程;
--top-mem:最占用内存的进程;
这些就是进程的查看及管理工具基本用法,不喜勿喷。
转载于:https://blog.51cto.com/11305442/1768535