本文涉及:Linux中进程管理命令:ps、pstree、grep、vmstat、进程树及进程搜索,查看系统负载命令uptime,查看内存信息free命令,常用工具top命令,磁盘监控df、du命令
◆
进程管理
◆
查看进程
常用参数:
-A 列出所有的行程
-u 指定用户的进程
-ef 所有进程以及启动命令
-aux 显示所有包含其他使用者的行程
查看进程树
搜索进程
◆
查看系统负载
◆
[root@master1 ~]# uptime
21:50:25 up 225 days, 3:24, 3 user, load average: 1.26, 2.05, 2.23
上述结果意义:
当前时间 21:50:25
系统运行时间 up 225 days, 3:24
当前在线用户 3
最近1分钟负载1.26、 5分钟负载2.0515分钟系统的负载
◆
查看内存信息
◆
free
常用参数:
-b 以字节为单位
-m 以MB为单位
-g 以GB为单位
-h 易读格式
-o 不显示-/+buffers/cache行
-t 显示RAM + swap的总和
-s n 刷新间隔为n秒
-c n 刷新n次后即退出
查看具体线程的内存信息
[root@VM_0_5_centos ~]# cat /proc/pid/maps
560dd2550000-560dd2646000 r-xp 00000000 fd:01 287702 /usr/sbin/nginx
560dd2846000-560dd2848000 r--p 000f6000 fd:01 287702 /usr/sbin/nginx
560dd2848000-560dd2861000 rw-p 000f8000 fd:01 287702 /usr/sbin/nginx
上述结果意义:
地址:库在进程里地址范围
权限:虚拟内存的权限,r=读,w=写,x=,s=共享,p=私有
偏移量:库在进程里地址范围
设备:映像文件的主设备号和次设备号
节点:映像文件的节点号
路径: 映像文件的路径
◆
Top命令
◆
top
上述结果意义:
第一行的意义与uptime相似
第二行表示进程的相关信息:系统现在共有198个进程,其中处于运行中的有2个,196个在休眠,停止状态的有0个,僵尸状态的0个
第三行表示CPU相关信息:us: 运行用户进程的CPU时间,sy: 运行内核进程的CPU时间,ni:运行已调整优先级的用户进程的CPU时间,wa: 用于等待IO完成的CPU时间,hi:处理硬件中断的CPU时间,si: 处理软件中断的CPU时间,st:hypervisor使用的CPU时间
第四行表示物理内存的相关信息:可参考free命令
第五行表示虚拟内存的相关信息
接下来是各进程状态:
PID:进程ID
USER:进程所有者的实际用户名
PR:进程的调度优先级
NI:进程的(优先级)
VIRT:进程使用的虚拟内存
RES:未被换出的物理内存大小
SHR:SHR是进程使用的共享内存。共享内存大小,单位kb
S:进程的状态
%CPU:自从上一次更新时到现在任务所使用的CPU时间百分比
MEM:进程使用的可用物理内存百分比
TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒
COMMAND:运行进程所使用的命令
常用参数:
d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p:通过指定监控进程ID来仅仅监控某个进程的状态。
q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S:指定累计模式。
s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i:使top不显示任何闲置或者僵死进程。
c:显示整个命令行而不只是显示命令名。
常用命令介绍:
Ctrl+L:擦除并且重写屏幕
K:终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。
i:忽略闲置和僵死进程。这是一个开关式命令。
q:退出程序
r:重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
S:切换到累计模式。
s:改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
f或者F:从当前显示中添加或者删除项目。
o或者O:改变显示项目的顺序
l:切换显示平均负载和启动时间信息。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据驻留内存大小进行排序。
P:根据CPU使用百分比大小进行排序。
T:根据时间/累计时间进行排序。
W:将当前设置写入~/.toprc文件中。
◆
vmstat命令
◆
vmstat
上述结果意义:
r:等待运行的进程个数
b:IO阻塞队列长度
swpd:交换内存使用
ree:空闲物理内存量
buff:用于buffer的内存总量
cache:用于cache的内存总量
si:数据进入swap中的速率(kb/s)
so:数据离开swap的速率(kb/s)
bi:从块设备读入数据到系统的速率
bo:保存数据至块设备的速率
in:interrupts 中断速率,每秒被中断的次数
cs:context switch 进程切换的速率
us:user space 用户运行程序占用CPU百分比
sy:system(kernel space)用于运行内核占用CPU的百分比
id:idle空闲CPU百分比
wa:wait io等待I/O花费时间
st:stolen,被虚拟机偷走的百分比
常用参数:
-s:显示内存统计数据
-S k, K, m or M 指定单位
x y:每隔x秒刷新y次
◆
查看磁盘使用情况
◆
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 51473888 1930336 46905804 4% /
devtmpfs 497168 0 497168 0% /dev
tmpfs 507780 24 507756 1% /dev/shm
tmpfs 507780 448 507332 1% /run
tmpfs 507780 0 507780 0% /sys/fs/cgroup
tmpfs 101560 0 101560 0% /run/user/0
常用参数:
-a
:显示所有的文件系统,包括虚拟文件系统-h
:以人们易读的GB、MB、KB等格式
◆
查看具体目录磁盘占用
◆
du
4 ./lib
4 ./games
4 ./src
4 ./libexec
4 ./bin
4 ./etc
24 .
上述结果意义:
左侧数字4是代表右侧子目录的大小
最下面24代表当前目录的大小
常用参数:
-a 显示目录中个别文件的大小
-k 以KB(1024bytes)为单位输出
-m 以MB为单位输出
-h 以K,M,G为单位,提高信息的可读性。

不得不看
万水千山总是情,点个 “在看” 行不行!!!
