一、基本概念:
1、含义:
CPU分配资源的先后顺序,就是指进程的优先权。

2、作用:
优先权高的进程有优先执行权,在配置进程优先权对多任务环境的Linux很有用,并且还可以把重要的进程运行到指定的CPU上,把不重要的进程安排到某个CPU,能大大提高系统的性能。

二、查看系统进程:
可以用静态的ps或者是动态的top,还能以pstree来查看程序树之间的关系。

1、ps:将某个时间点的进程运行情况选取下来
(1)参数:
1)-A:所有的进程均显示出来,与-e具有同样的作用;
2)-a:不与终端(terminal)有关的所有进程;
3)-u:有效用户的相关进程;
4)j:工作的格式(job format);
5)l :较长、较详细的将该PID的信息列出;

(2)ps -l:仅查看自己的bash相关进程:
【例】将本次自己登陆的PID的相关信息列出来
这里写图片描述

释:
A、F:代表这个进程标志,说明进程权限。
1)4表示此进程的权限为root。
2)1表示则表示此进程仅可复制,不可执行。
B、S:代表这个进程的状态,如:R、S、D、T、Z。
C、UID:执行者的身份。
D、PID:本进程代号。
E、PPID:父进程代号。
F、C:代表CPU的使用率,单位为百分比。
G、PRI:本进程被执行的优先级,其值越小越早被执行。
H、NI:本进程的nice值。
I、ADDR:指出进程在内核的哪个部分,而“-”表示running进程。
J、SZ:表该进程用掉的内存
K、WCHAN:表进程是否在运行中,而“-”表示running进程。
L、TTY:登陆者的终端机位置,若为远程登录则使用动态终端接口(pts/n)。
M、TIME:CPU运行的时间,而不是系统时间。
N、CMD:该程序执行的命令。

注意:使用ps -l则仅列出与你的操作环境(bash)有关的进程,而不会显示init这个进程。

(3)ps aux:查看系统所有的进程
【例】列出所有的正在内存中的进程
这里写图片描述

释:
A、USER:该进程属于哪个用户账户。
B、PID:该进程的进程标识符。
C、%CPU:该进程使用掉的CPU资源百分比。
D、%MEM:该进程使用掉的物理内存百分比。
E、VSZ:该进程使用掉的虚拟内存量。
F、RSS:该进程占用的固定的内存量。
G、TTY:该进程终端机号,若与终端机无关,则显示“?”。注意:tty1~tty6是本机上面的登陆者程序;若为tty/0,则表示网络连接进主机的进程。
H、STAT:进程的状态。
I、START:进程被触发启动的时间。
J、TIME:CPU使用的时间。
K、COMMAND:该进程的实际命令。

(4)查看进程的其他形式
【例1】用ps -lA显示所有的进程
这里写图片描述
注:这里与ps -l的输出字段的情况相同,但是显示了系统的所有进程。

【例2】列出类似进程树的程序显示:
这里写图片描述

三、改变进程的优先级
1、与其相关的参数:
(1)PRI and NI
1)NI即nice,表可被执行进程的优先级的修正值。
nice值可正可负,其取值范围是-20至19,一共40个级别。
2)PRI表示进程的优先级
PRI值越小越快被执行,加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+ nice。当nice值为负时,该程序的优先级值将会变小,即优先级变高,则其会越快被执行。
可知:在Linux下调整进程的优先级,就是调整进程的nice值。

(2)PRI vs NI
注意:进程的nice值不是进程的优先级,它们不是一个概念,但是进程的nice值会影响到进程的优先级变化,准确的说就是:nice值是进程优先级的修正数据。

(3)修改进程优先级的命令的方式
1)给予新的nice值
在使用nice中,需注意:
A、root可随意调整自己或他人进程的nice值,且范围为-20~19;
B、一般用户仅可调整自己的nice值,且范围仅为0~19(避免一般用户抢占系统资源)。
C、一般用户仅可将nice值越调越高。例如,本来nice值为5,则将来只能调整到大于5。
【例】用root给一个nice值设为-5,执行vi,并查看该进程
这里写图片描述

1)重新调整已存在进程的nice值:renice
【例】找出自己bash的PID,并将该PID的nice值调整为10
这里写图片描述

注:除renice外,top也可以调整nice值,过程如下:进入top后按“r”->输入进程PID->输入nice值。

Logo

更多推荐