进程管理
一.进程基本概述
-
进程是已启动的可执行程序的运行中实例。
-
/proc目录下以数字为名的目录,每一个目录代表一个进程,保存着进程的属性信息。每一个进程的PID是唯一的,就算进程退出了,其它进程也不会占用其PID
二.进程的组成部分
1.已分配内存的地址空间
2.安全属性,包括所有权凭据和特权
3.程序代码的一个或多个执行线程
4.进程状态
三.进程的环境
1.本地和全局变量
2.当前调度上下文
3.分配的系统资源,如文件描述符和网络端口
四.进程优先级
<0-139>:数字越小,优先级越高!
<0-99>:实时优先级,内核调整
<100-139>:静态优先级,用户可控制
五.进程管理
1.ps命令用于列出当前的进程。可以显示详细的进程信息
[root@localhost ~]# ps -e
PID TTY TIME CMD
1 ? 00:00:02 systemd
2 ? 00:00:00 kthreadd
2.进程显示
[root@localhost ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Nov03 ? 00:00:02 /usr/lib/systemd/systemd --s
root 2 0 0 Nov03 ? 00:00:00 [kthreadd]
root 3 2 0 Nov03 ? 00:00:00 [rcu_gp]
root 4 2 0 Nov03 ? 00:00:00 [rcu_par_gp]
root 6 2 0 Nov03 ? 00:00:00 [kworker/0:0H-k
六.vmstat
虚拟内存状态查看命令
vmstat 1000 //表示每1000秒刷新一次
vmstat 1000 5 //表示每1000秒刷新一次,刷新5次后退出
[root@localhost ~]# vmstat 1000
procs:
r //表示等待运行的队列长度,也即等待运行的进程的个数
b //表示阻塞队列长度,也即处于不可中断睡眠态的进程个数
memory:
swpd //交换内存的使用总量
free //空闲物理内存总量
buffer //用于buffer的内存总量
cache //用于cache的内存总量
swap:
si //表示从物理内存有多少页面换进swap,也即数据进入swap的数据速率(kb/s)
so //表示从swap有多少页面换进物理内存,也即数据离开swap的数据速率(kb/s)
io:
bi //表示磁盘块有多少个被调入内存中,也即从块设备读入数据到系统的速率(kb/s)
bo //表示有多少个磁盘块从内存中被同步到硬盘上去了,也即保存数据至块设备的速率(kb/s)
system:
in //表示中断的个数,也即中断速率(kb/s)
cs //表示上下文切换的次数,也即进程切换速率(kb/s)
CPU:
us //表示用户空间
sy //表示内核空间
id //表示空闲百分比
wa //表示等待IO完成所占据的时间百分比
st //表示steal,被虚拟化技术偷走的时间