• 进程cpu资源分配就是指进程的优先权(priority)...配置进程优先权对多任务环境的linux很有用,可以改善系统性能。还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。
    
    进程cpu资源分配就是指进程的优先权(priority)。优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。
    
    ###一、先看系统进程:
    
    首先,我想用一个简单的命令来引起这个议题。 无论在linux或者unix系统中,用ps –l命令则会类似输出以下几个内容:
    
    ```
    $ 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值会影响到进程的优先级变化。
    —————————————————————————
    ###二、修改进程优先级的命令主要有两个:nice,renice
    
    ####1、一开始执行程序就指定nice值:nice
    ```
    nice -n -5 /usr/local/mysql/bin/mysqld_safe &
    
    ```
    
    linux nice 命令详解
    
    功能说明:设置优先权。
    
    语  法:nice [-n ][--help][--version][执行指令]
    
    补充说明:nice指令可以改变程序执行的优先权等级。
    
    参  数:-n或-或–adjustment=  设置欲执行的指令的优先权等级。等级的范围从-20-19,其中-20最高,19最低,只有系统管理者可以设置负数的等级。
    –help  在线帮助。
    –version  显示版本信息。
    —————————————————————————
    ####2.1、调整已存在进程的nice:renice
    
    ```
    renice -5 -p 5200
    #PID为5200的进程nice设为-5
    
    ```
    
    linux renice 命令详解
    
    功能说明:调整优先权。
    
    语  法:renice [优先等级][-g ...][-p ...][-u ...]
    
    补充说明:renice指令可重新调整程序执行的优先权等级。预设是以程序识别码指定程序调整其优先权,您亦可以指定程序群组或用户名称调整优先权等级, 并修改所有隶属于该程序群组或用户的程序的优先权。等级范围从-20–19,只有系统管理者可以改变其他用户程序的优先权,也仅有系统管理者可以设置负数 等级。
    参  数:
    -g   使用程序群组名称,修改所有隶属于该程序群组的程序的优先权。
    -p   改变该程序的优先权等级,此参数为预设值。
    -u   指定用户名称,修改所有隶属于该用户的程序的优先权。
    
    ####2.2、也可以用top命令更改已存在进程的nice:
    
    ```
    top
    #进入top后按“r”–>输入进程PID–>输入nice值
    ```
    
    ###其他
    
    
    
    僵尸进程:一个子进程在其父进程没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。如果其父进程还存在而一直不调用wait,则该僵尸进程将无法回收,等到其父进程退出后该进程将被init回收。
    孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。
    僵尸进程将会导致资源浪费,而孤儿则不会。
    
    
    
    ###参考文献
    
    http://blog.csdn.net/sanshiqiduer/article/details/1933625
    
    http://blog.csdn.net/codestinity/article/details/7496962
    
    
    
    
    展开全文
  • Linux系统下提升运行中进程优先级的方法 Linux系统进程的优先级取值:-20 到 19,数越大优先级越低。 可以通过top命令来查看,NI那一列。 改变进程的优先级的方法有两种:(需要root权限) 1、top命令 输入r,...
  • nice nice 指令可以设置程序运行的优先级优先级会影响到程序的调度时间。nice的范围是-20~19,其中-20级别最高,19级别最低。 此命令的适用范围:R...
  • linux设置线程优先级 2019-09-12 11:44:24
    linux设置线程优先级 原文链接:http://www.cnblogs.com/xiaotlili/p/3510224.html root@ubuntu:tmp# cat test2.c #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <...
  • linux线程优先级设置 2017-03-24 09:09:26
    Linux线程优先级 Linux内核的三种调度策略:  1.SCHED_OTHER 分时调度策略  2.SCHED_FIFO 实时调度策略,先到先服务。一旦占用cpu则一直运行。一直运行直到有更高优先级任务到达或自己放弃  3.SCHED_...
  • 最近研发的产品出了点小bug,最后查到根本原因是,其中一个进程A使用基于FIFO的实时进程优先级,而另一个进程B是使用普通调度的进程优先级,而A和B两个进程是互相通信的,进程B会被饿死,而进程A也不能正常工作。...
  • linux设置多线程优先级 2017-10-24 10:19:15
    Linux内核的三种调度策略:  1.SCHED_OTHER 分时调度策略  2.SCHED_FIFO 实时调度策略,先到先服务。一旦占用cpu则一直运行。一直运行直到有更高优先级任务到达或自己放弃  3.SCHED_RR实 时调度策略,时间片...
  • Linux-进程优先级 2018-03-15 14:56:44
    为什么要有优先级显然,在多任务操作系统中,进程占用cpu必须需要人为能够控制。 原因是因为:有的进程非常重要,有些进程当下来看没有那么重要。 所以就需要有优先级来区分他们。 进程是需要切换的,意味着在同...
  • 深入 Linux 的进程优先级 2017-04-18 18:15:38
    转自: http://liwei.life/2016/04/07/linux%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%BC%98%E5%85%88%E7%BA%A7/ 为什么要有进程优先级?这似乎不用过多的解释,毕竟自从多任务操作系统诞生以来,进程执行占用cpu的能力...
  • 知道linux系统有七个运行级别,但不知道是否存在最高优先级,哪一级最高
  • Linux系统下提升进程优先级的办法   Linux系统进程的优先级取值:-20 到 19,数越大优先级越低。  可以通过top命令来查看,NI那一列。   改变进程的优先级的方法有两种:  www.2cto.com   1,top命令。输入r,...
  • 线程属性的设置,网上找的文章总感觉不够全面,还是结合man手册查看。 线程属性设置,分两个方式,一种是在创建之前,通过pthread_attr_t ...---/--------------补充:设置优先级,除了这里所描述的sched_sets...
  • Linux系统进程的优先级取值:-20 到 19,数越大优先级越低。 可以通过top命令来查看,NI那一列。 改变进程的优先级的方法有两种: www.2cto.com 1,top命令。输入r,然后根据提示输入进程ID,再输入优先级...
  • By:Ailson Jack  Date:2016.04.04  个人博客:www.only2fire.com  本文在我博客的地址是:...  最近在学习Linux的编程,这里在博客中记录一下学习的过程。... 对于线程的优先级设定...
  • linux的进程优先级 2017-12-07 10:20:18
    为什么要有进程优先级?这似乎不用过多的解释,毕竟自从多任务操作系统诞生以来,进程执行占用cpu的能力就是一个必须要可以人为控制的事情。因为有的进程相对重要,而有的进程则没那么重要。
  • linux程序优先级 2016-07-27 11:30:59
    linux下的进程调度优先级是从-20到19,一共40个级别,数字越大,表示进程的优先级越低。默认时候,进程的优先级是0。查看进程优先级有两个办法:ps和top。top命令显示的NI列的值。或者可以使用ps -efl来查看,也是在...
  • 如何在Linux设置线程的优先级 我们使用int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg); 来创建线程,但是如何设置线程的优先级呢? 在讨论...
  • linux 进程优先级 2019-02-27 16:27:13
    Linux 进程的优先级跟随调度算法的不断发展,其意义在不同的阶段也有着不同的含义,所以本来想从 Linux 的调度发展史写起,但是无奈那一部分的涉猎不是很深入。不管怎样,发展到最后,结果是 Linux 系统可以在同一个...
  • linux nice 设置进程优先级 2015-04-08 16:44:09
    nice命令用来设置优先级优先级的数值为-20~19,其中数值越小优先级越高,数值越大优先级越低,-20的优先级最高,19的优先级最低。 需要注意的是普通用户只能在0~19之间调整应用程序的优先权值,只有超级用户有权...
1 2 3 4 5 ... 20
收藏数 83,843
精华内容 33,537