网络收集,自学自用~mysql
进程cpu资源分配就是指进程的优先权(priority)。优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux颇有用,能够改善系统性能。还能够把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,能够大大改善系统总体性能。linux
1、先看系统进程:sql
首先,我想用一个简单的命令来引发这个议题。 不管在linux或者unix系统中,用ps –l命令则会相似输出如下几个内容:bash
[root@dbbak root]# ps –l --- 这里用的是linux测试
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 20538 20534 0 75 0 - 1063 wait4 pts/2 00:00:00 bash
4 R 0 20663 20538 0 75 0 - 828 - pts/2 00:00:00 ps网络
咱们很容易注意到其中的几个重要信息,有下:
UID : 表明执行者的身份
PID : 表明这个进程的代号
PPID :表明这个进程是由哪一个进程发展衍生而来的,亦即父进程的代号
PRI :表明这个进程可被执行的优先级,其值越小越早被执行
NI :表明这个进程的nice值
这里的前面的三个信息,咱们都是比较好容易理解的,可是后面的两个奇怪的信息,一个是PRI,一个是NI,这究竟是什么东西?相对而言,PRI也仍是比较好理解的,即进程的优先级,或者通俗点说就是程序被CPU执行的前后顺序,此值越小进程的优先级别越高。那NI呢?就是咱们所要说的nice值了,其表示进程可被执行的优先级的修正数值。如前面所说,PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nice。这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行。性能
到目前为止,更须要强调一点的是,进程的nice值不是进程的优先级,他们不是一个概念,可是进程nice值会影响到进程的优先级变化。测试
—————————————————————————
2、修改进程优先级的命令主要有两个:nice,renice.net
一、一开始执行程序就指定nice值:niceunix
linux nice 命令详解blog
功能说明:设置优先权。
语 法:nice [-n <优先等级>][--help][--version][执行指令]
补充说明:nice指令能够改变程序执行的优先权等级。
参 数:-n<优先等级>或-<优先等级>或–adjustment=<优先等级> 设置欲执行的指令的优先权等级。等级的范围从-20-19,其中-20最高,19最低,只有系统管理者能够设置负数的等级。
–help 在线帮助。
–version 显示版本信息。
—————————————————————————
2.一、调整已存在进程的nice:renice
linux renice 命令详解
功能说明:调整优先权。
语 法:renice [优先等级][-g <程序群组名称>...][-p <程序识别码>...][-u <用户名称>...]
补充说明:renice指令可从新调整程序执行的优先权等级。预设是以程序识别码指定程序调整其优先权,您亦能够指定程序群组或用户名称调整优先权等级,并修改全部隶属于该程序群组或用户的程序的优先权。等级范围从-20–19,只有系统管理者能够改变其余用户程序的优先权,也仅有系统管理者能够设置负数等级。
参 数:
-g <程序群组名称> 使用程序群组名称,修改全部隶属于该程序群组的程序的优先权。
-p <程序识别码> 改变该程序的优先权等级,此参数为预设值。
-u <用户名称> 指定用户名称,修改全部隶属于该用户的程序的优先权。
2.二、也能够用top命令更改已存在进程的nice:
http://blog.csdn.net/sanshiqiduer/article/details/1933625
僵尸进程:一个子进程在其父进程没有调用wait()或waitpid()的状况下退出。这个子进程就是僵尸进程。若是其父进程还存在而一直不调用wait,则该僵尸进程将没法回收,等到其父进程退出后该进程将被init回收。
孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工做。
僵尸进程将会致使资源浪费,而孤儿则不会。