您的位置:首页 > 其它

进程管理与查看命令

2016-03-25 22:10 267 查看
Linux中进程管理的重要性不言而喻,那么废话不多说。
pstree:显示进程树(没什么好说的)
ps:显示当前时刻进程的信息(非动态)
其选项有三种风格:
UNIX风格:带“-”
BSDUNIX风格:不带“-”
GNU长选项:带“--”
常用选项:
基于BSD风格:
a:显示与终端相关的进程
x:显示与终端无关的进程
u:以用户为中心显示进程信息
常用组合:ps aux
[root@bogon ~]# ps aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

0            1  0.0  0.7  44488  7132 ?        Ss   17:35   0:02 /usr/lib/systemd/systemd --switched-root --s

0            2  0.0  0.0      0     0 ?        S    17:35   0:00 [kthreadd]

0            3  0.0  0.0      0     0 ?        S    17:35   0:00 [ksoftirqd/0]

0            5  0.0  0.0      0     0 ?        S<   17:35   0:00 [kworker/0:0H]

0            7  0.0  0.0      0     0 ?        S    17:35   0:00 [migration/0]

0            8  0.0  0.0      0     0 ?        S    17:35   0:00 [rcu_bh]

0            9  0.0  0.0      0     0 ?        S    17:35   0:00 [rcuob/0]

0           10  0.0  0.0      0     0 ?        S    17:35   0:00 [rcuob/1]

0           11  0.0  0.0      0     0 ?        S    17:35   0:00 [rcuob/2]
信息说明:
USER:用户
PID:进程pid号
%CPU:cpu使用累计使用百分比
%MEM:内存累计使用百分比
VSZ:虚拟内存集
RSS:长驻内存集
TTY:进程运行在哪个终端上
STAT:进程运行状态
S:可中断睡眠(可随时唤醒)
D:不可中断睡眠(不可随时唤醒)
R:正在运行中
T:停止运行
Z;僵死状态
s:会话控制
N:优先级较低的进程
<:优先级较高的进程
+:前端进程
l:多线程进程
START:进程运行开始时间
TIME:进程累计占用cpu时间
COMMAND:此进程的命令
axo 自定义进程选项:显示自定义选项的列表,有pid(进程pid号), ni(nice值), pri(优先级), psr, pcpu, stat(状态), comm(命令), tty(终端), ppid(父进程号), rtprio(实时优先级)
基于UNIX风格的选项:
-e:显示所有进程(相当于ps ax)
-f:显示进程详细信息
常用组合:ps -ef
[root@bogon ~]# ps -ef

UID        PID  PPID  C STIME TTY          TIME CMD

0            1     0  0 17:35 ?        00:00:03 /usr/lib/systemd/systemd --switched-root --system --deseriali

0            2     0  0 17:35 ?        00:00:00 [kthreadd]

0            3     2  0 17:35 ?        00:00:00 [ksoftirqd/0]

0            5     2  0 17:35 ?        00:00:00 [kworker/0:0H]

0            7     2  0 17:35 ?        00:00:00 [migration/0]

0            8     2  0 17:35 ?        00:00:00 [rcu_bh]

0            9     2  0 17:35 ?        00:00:00 [rcuob/0]

0           10     2  0 17:35 ?        00:00:00 [rcuob/1]

0           11     2  0 17:35 ?        00:00:00 [rcuob/2]

....
信息说明:大多与前面一样,只说明C是代表cpu累计使用比
-F:显示更加详细的进程信息
-H:以层级结构显示进程的相关信息
常用组合:ps -eFH
[root@bogon ~]# ps -eFH

UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD

0            2     0  0     0     0   0 17:35 ?        00:00:00 [kthreadd]

0            3     2  0     0     0   0 17:35 ?        00:00:00   [ksoftirqd/0]

0            5     2  0     0     0   0 17:35 ?        00:00:00   [kworker/0:0H]

0            7     2  0     0     0   0 17:35 ?        00:00:00   [migration/0]

0            8     2  0     0     0   0 17:35 ?        00:00:00   [rcu_bh]

0            9     2  0     0     0   0 17:35 ?        00:00:00   [rcuob/0]

0           10     2  0     0     0   0 17:35 ?        00:00:00   [rcuob/1]
信息说明:PSR:此进程运行在哪个cpu上,另外说一下带[]的表示内核线程
-eo 自定义进程选项
pgrep:显示匹配模式的进程(看grep就知道,加上p就是进程)
常用选项:
-u:显示指定用户启动的进程
-U:显示真正由指定用户启动的进程
-t:显示指定终端的进程
-l:显示进程名
-a:显示完整格式的进程名
-p:显示其父进程pid为指定pid的子进程
[root@bogon ~]# pgrep ssh -a
1360 /usr/sbin/sshd -D
1489 sshd:     [root@bogon ~]#
pkill:与pgrep用法一样,只是这是杀死匹配到的进程。
pidof:根据指定的进程名取其pid号
[root@bogon ~]# pidof sshd
1489 1360
[root@bogon ~]#
top:以动态的形式显示进程信息(默认刷新为3s)
top - 22:57:17 up  5:21,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 222 total,   2 running, 220 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1009304 total,   727184 free,   135800 used,   146320 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   725188 avail Mem
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
73 0         20   0       0      0      0 S   0.3  0.0   0:02.19 rcu_sched
74 0         20   0       0      0      0 S   0.3  0.0   0:01.13 rcuos/0
75 0         20   0       0      0      0 S   0.3  0.0   0:02.42 rcuos/1                           ....
信息说明:
第一行:top启动的时间;系统运行的时间;多少用户登录;1,5,15分钟的cpu等待队列长度
第二行:作业信息:总进程数量;进程的运行状态信息
第三行:cpu使用百分比:
us:用户空间使用比
sy:系统空间使用比
ni:切换nice值运行进程使用比
id:空闲时间比
wa:等待占用比
hi:硬中断占用比
si:软中断占用比
st:虚拟软件偷走比
第四行:物理内存信息(单位为KB),分别为:总物理内存大小,空闲物理内存大小,已使用物理内存大小,缓冲/缓存物理内存大小
第五行:交换内存信息(单位为KB),分别为:总的交换内存大小,空闲交换内存大小,已使用交换内存大小,总的可用内存大小(可用内存加上缓冲/缓存内存)
第六行:
PR:进程优先级
SHR:共享内存集
常用使用方法:
P:以cpu累计使用比倒叙排列(从大到小)
M:以内存累计占用时间倒叙排列
T:以占用cpu累计时间倒叙排列
l:开启关闭第一行
t:开启关闭第二三行
m:开启关闭第四五两行
1:显示每颗cpu的状态信息
s:修改刷新时间
常用选项:
-d #:以指定的刷新时间启动
-b:以批次方式显示
-n #:以多批次方式显示
uptime:显示top的第一行信息
[root@bogon ~]# uptime
23:18:42 up  5:42,  2 users,  load average: 0.00, 0.02, 0.05
[root@bogon ~]#
htop:比top更炫酷更强大的的动态显示进程信息的命令



常用选项:
-d #:指定延迟时间间隔;
-u UserName:仅显示指定用户的进程;
-s COLUME:以指定字段进行排序;
常用子命令:
l:显示选定的进程打开的文件列表;
s:跟踪选定的进程的系统调用;
t:以层级关系显示各进程状态;
a:将选定的进程绑定至某指定的CPU核心;
当然还有别的有趣的玩法,可以F1查看帮助,F2设置自己喜欢的界面。
vmstat:显示虚拟内存状态
[root@bogon ~]# vmstat
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      0 721168    948 151192    0    0     3     0   16   20  0  0 100  0  0
[root@bogon ~]#
信息说明:
procs:r代表等待运行的进程个数,b代表阻塞进程的个数
memory:swap表示交换空间使用总量,free表示空闲的物理内存总量,buff表示用于缓冲的内存大小,cache代表用于缓存的内存大小。
swap:si代表数据进入swap的速度,so代表数据离开swap的速度
io:bi代表从块设备读取数据到系统的速度,bo代表写入快设备的速度
system:in代表中断毒素,cs代表上下文切换速度
cpu:请参考top信息说明
glances:一直基于curres的交互平台的监视工具



基本信息也差不多
常用选项:
-b:以Byte为单位显示网上数据速率;
-d:关闭磁盘I/O模块;
-m:关闭mount模块;
-n:关闭network模块;
-t #:刷新时间间隔;
-1:每个cpu的相关数据单独显示;
-o {HTML|CSV}:输出格式;
-f /PATH/TO/SOMEDIR:设定输出文件的位置;

C/S模式下运行glances命令(下面这方法可以用浏览器打开实现实时监控):
服务模式:
glances -s -B 本机的某地址

客户端模式:
glances -c 远程服务器的地址
dstat命令:强大到没朋友的工具,谁用谁知道




常用选项:
-c, --cpu:显示cpu相关信息;
-C #,#,...,total
-d, --disk:显示磁盘的相关信息
-D sda,sdb,...,tobal
-g:显示page相关的速率数据;
-m:Memory的相关统计数据
-n:Interface的相关统计数据;
-p:显示process的相关统计数据;
-r:显示io请求的相关的统计数据;
-s:显示swapped的相关统计数据;

--tcp
--udp
--raw
--socket

--ipc

--top-cpu:显示最占用CPU的进程;
--top-io:最占用io的进程;
--top-mem:最占用内存的进程;
--top-lantency:延迟最大的进程;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: