Linux中进程的优先级
Linux採用两种不同的优先级范围,一种是nice值。还有一种是实时优先级。
1.nice值
nice值得范围是-20~19,默认值是0。
越大的nice值意味着更低的优先级。也就是说nice值为-20的优先级最高。
2.实时优先级
实时优先级的范围是0~99。其值得意义与nice值相反。即:越高的实时优先级数值意味着进程优先级越高。
Linux的进程可分为普通进程和实时进程。实时进程都是一些对响应时间要求比較高的进程。因此实时进程的优先级比普通进程的优先级要高。
3.优先级比較
Linux中的这两种优先级划分,是不是难以理解?究竟哪种优先级高?假设一个进程同一时候含有上述两种优先级呢?
对于上述的两个问题。最好的回答方式就是用代码说话。
Linux 3.6内核中,关于进程的优先级。include/linux/sched.h文件里有例如以下的一段描写叙述:
1597 /*
1598 * Priority of a process goes from 0..MAX_PRIO-1, valid RT
1599 * priority is 0..MAX_RT_PRIO-1, and SCHED_NORMAL/SCHED_BATCH
1600 * tasks are in the range MAX_RT_PRIO..MAX_PRIO-1. Priority
1601 * values are inverted: lower p->prio value means higher priority.
1602 *
1603 * The MAX_USER_RT_PRIO value allows the actual maximum
1604 * RT priority to be separate from the value exported to
1605 * user-space. This allows kernel threads to set their
1606 * priority to a value higher than any user task. Note:
1607 * MAX_RT_PRIO must not be smaller than MAX_USER_RT_PRIO.
1608 */
1610 #define MAX_USER_RT_PRIO 100
1611 #define MAX_RT_PRIO MAX_USER_RT_PRIO
1612
1613 #define MAX_PRIO (MAX_RT_PRIO + 40)
1614 #define DEFAULT_PRIO (MAX_RT_PRIO + 20)
通过上述的描写叙述和代码。我们能够看出:
1)
实时优先级的范围是0~99,nice值得范围是100~139。
2)实时优先级的优先级别要高于nice值。
那么假设几个进程同一时候含有上述两种优先级会怎么样呢?
优先级,而普通进程相应的则是nice值。这种话,理论上就不会出现一个进程同一时候含有两种不同的优先级。那事实是不是这种呢?再反复一遍上面的一句话:Linux中的进程分为实时进程和普通进程。当中实时进程相应的就是实时优先级。而普通进程相应的则是nice值。这种话,理论上就不会出现一个进程同一时候含有两种不同的优先级。
那事实是不是这种呢?
能够使用例如以下命令来查看进程的优先级:
ps -eo state,uid,pid,ppid,rtprio,time,comm
在我的机器上运行结果为:
[tuzhu@CentOS linux-3.6]$ ps -eo state,uid,pid,ppid,rtprio,ni,time,comm
S UID PID PPID RTPRIO NI TIME COMMAND
S 0 1 0 - 0 00:00:03 init
S 0 2 0 - 0 00:00:00 kthreadd
S 0 3 2 99 - 00:00:00 migration/0
S 0 4 2 - 0 00:00:00 ksoftirqd/0
S 0 5 2 99 - 00:00:00 migration/0
S 0 6 2 99 - 00:00:00 watchdog/0
S 0 7 2 99 - 00:00:00 migration/1
S 0 8 2 99 - 00:00:00 migration/1
S 0 9 2 - 0 00:00:00 ksoftirqd/1
S 0 10 2 99 - 00:00:00 watchdog/1
当中RTPRIO表示的是实时优先级,NI即nice值。我们能够非常清楚的看出。实时优先级和nice值是绝对不会反复存在的。
Linux中进程的优先级的更多相关文章
- linux中进程控制
1.进程标识 每个进程都有一个非负整型表示的唯一的进程ID.进程ID标识符总是唯一的. 虽然进程ID是唯一的,但某个ID被回收后,ID号是可以复用的. ID为0的进程通常是调度进程(其常常被称交换进 ...
- 第11讲- Android中进程及其优先级
第11讲Android中进程及其优先级 进程与线程: 进程:操作系统结构的基础,资源分配的最小单元,一个操作系统包括多个进程: 线程:线程存在于进程当中,是操作系统调试执行的最小单元,一个进程包括多个 ...
- [转]Linux中进程内存与cgroup内存的统计
From: http://hustcat.github.io/about/ Linux中进程内存与cgroup内存的统计 在Linux内核,对于进程的内存使用与Cgroup的内存使用统计有一些相同和不 ...
- android中进程的优先级
android中进程的优先级
- Linux中进程控制块PCB-------task_struct结构体结构
Linux中task_struct用来控制管理进程,结构如下: struct task_struct { //说明了该进程是否可以执行,还是可中断等信息 volatile long state; // ...
- 『学了就忘』Linux系统管理 — 82、Linux中进程的查看(ps命令)
目录 1.ps命令介绍 2.ps aux命令示例 3.ps -le命令示例 4.pstree命令 1.ps命令介绍 ps命令是用来静态显示系统中进程的命令. 不过这个命令有些特殊,它部分命令的选项前不 ...
- 『学了就忘』Linux系统管理 — 83、Linux中进程的查看(top命令)
目录 1.top命令介绍 2.top命令示例 3.top命令输出项解释 4.top命令常用的实例 1.top命令介绍 top命令是用来动态显示系统中进程的命令. [root@localhost ~]# ...
- Linux 中进程的管理
Linux 的进程信号 1 HUP 挂起 2 INT 中断 3 QUIT 结束运行 9 KILL 无条件终止 11 SEGV 段错误 15 TERM 尽可能终止 17 STOP 无条件终止运 ...
- Linux中进程与线程的概念以及区别
linux进程与线程的区别,早已成为IT界经常讨论但热度不减的话题.无论你是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了.对于一般的程序员,搞清楚二者的概念并在工作中学会运用是 ...
随机推荐
- 关于ubuntu的对拍
感谢夏天dl的blog,写的十分清楚,但是本人对于ubuntu十分不熟悉 所以不怎么会使用. 对拍的可执行文件是sh,就是bash语言 #!bin/bash while true; do ./date ...
- bzoj3210 花神的浇花集会 坐标
题目大意:给定平面上的n个点,求一个点到这n个点的切比雪夫距离之和最小 与3170不同的是这次选择的点无需是n个点中的一个 首先将每个点(x,y)变为(x+y,x-y) 这样新点之间的曼哈顿距离的一半 ...
- 20140323组队赛 2012福建省第三届ACM省赛题目
A - Solve equation Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...
- 我要好offer之 概率题大总结
1. 利用等概率Rand5生成等概率Rand3 Rand5生成等概率Rand3 这个题目可以扩展为:利用等概率RandM生成等概率RandN (M > N) 这里,我们首先明白一个简单的知识点: ...
- jquery小技巧:使用jquery.confirm和PNotify实现弹出提示和消息提示
在从UIKIT前端换到BOOSTRAP前端时,一些转换的技巧. https://myclabs.github.io/jquery.confirm/ http://sciactive.github.io ...
- babel ---- presets字段设定转码规则
presets字段设定转码规则,官方提供以下的规则集,你可以根据需要安装. # ES2015转码规则 $ npm install --save-dev babel-preset-es2015 # re ...
- Codeforces 932 C.Permutation Cycle-数学 (ICM Technex 2018 and Codeforces Round #463 (Div. 1 + Div. 2, combined))
C. Permutation Cycle time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- Codeforces Gym101606 A.Alien Sunset (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))
2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017) 寒假第一次组队训练赛,和学长一起训练,题目难度是3颗星,我和猪队友写 ...
- 第3章 CentOS常用命令
一.CentOS常用命令 1.1 文件和目录 # cd /home 进入 '/home' 目录 # cd .. ...
- deferred 对象
转载,原文连接:http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html ...