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界经常讨论但热度不减的话题.无论你是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了.对于一般的程序员,搞清楚二者的概念并在工作中学会运用是 ...
随机推荐
- BZOJ3098 Hash Killer II 【概率】
挺有意思的一题 就是卡一个\(hash\) 我们先取L大概几十保证结果会超出\(10^9 + 7\) 然后就随机输出\(10^5\)个字符 由题目的提示我们可以想到,如果我们有\(n\)个数,选\(k ...
- bzoj 1061~1065【Noi2008】解题报告
这次Noi好像格外喜欢树形DpQAQ P.S.好像这次的题都与图有关QAQ bzoj1061[Noi2008]志愿者招募:上下界可行最小费用流 bzoj1062[Noi2008]糖果雨:数形结合&am ...
- java web项目防止多用户重复登录解决方案
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任.作者:永恒の_☆ 地址:http://blog.csdn.net/chenghui031 ...
- Linux System Programming 学习笔记(十一) 时间
1. 内核提供三种不同的方式来记录时间 Wall time (or real time):actual time and date in the real world Process time:the ...
- Linux 设备驱动的固件加载【转】
转自:http://blog.csdn.net/zqixiao_09/article/details/51106663 版权声明:本文为博主原创文章,未经博主允许不得转载. 作为一个驱动作者, 你可能 ...
- 快充 IC BQ25896 的 ICO (input current optimizer)
ICO (input current optimizer) 手機接上 adapter 後, 手機裡的 charger IC bq25896 開始向 adapter 抽取 current 供給 batt ...
- 转载——Step by Step 创建一个 Web Service
原创地址:http://www.cnblogs.com/jfzhu/p/4022139.html 转载请注明出处 (一)创建Web Service 创建第一个项目,类型选择ASP.NET Empty ...
- AC日记——魔术球问题 洛谷 P2765
题目描述 «问题描述: 假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为1,2,3,...的球. (1)每次只能在某根柱子的最上面放球. (2)在同一根柱子中,任何2个相邻球的编号之和为完全 ...
- Windows Phone 8 与 windows 8 开发技术概览
目前来说Windows phone 8的开发者 大家都是走战斗在在技术朋友,相信大家在做Windows Phone 8开发的同时也在关注Windows 8,我相信很多开发者一定是在 Windows 8 ...
- Codeforces 471 D MUH and Cube Walls
题目大意 Description 给你一个字符集合,你从其中找出一些字符串出来. 希望你找出来的这些字符串的最长公共前缀*字符串的总个数最大化. Input 第一行给出数字N.N在[2,1000000 ...