linux进程管理之优先级

Posted anttech

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux进程管理之优先级相关的知识,希望对你有一定的参考价值。

 

进程优先级

nice


====================================================================================

Linux 进程调度及多任务
相对优先级nice
查看进程的nice级别
启动具有不同nice级别的进程
更改现有进程的nice级别


Linux 进程调度及多任务
每个CPU(或CPU核心)在一个时间点上只能处理一个进程,通过时间片技术,Linux实际能够运行的进程(和线程数)可以超
出实际可用的CPU及核心数量。Linux内核进程调度程序将多个进程在CPU核心上快速切换,从而给用户多个进程在同时运行的印象。


相对优先级 nice
由于不是每个进程都与其他进程同样重要,可告知进程调度程序为不同的进程使用不同的调度策略。常规系统上运行的大多
数进程所使用的调度策略为 SCHED_OTHER (也称为SCHED_NORMAL),但还有其它一些调度策略用于不同的目的。

SCHED_OTHER 调度策略运行的进程的相对优先级称为进程的 nice 值,可以有40种不同级别的nice值。

nice 值越高: 表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。
nice 值越低: 表示优先级越高,例如-20,该进程更不倾向于让出CPU。

查看进程的nice级别
1. 使用top查看nice级别
NI: 实际nice级别
PR: 将nice级别显示为映射到更大优先级队列,-20映射到0,+19映射到39

3. 使用ps查看nice级别
[[email protected] ~]# ps axo pid,command,nice --sort=-nice
[[email protected] ~]# ps axo pid,command,nice,cls --sort=-nice
TS 表示该进程使用的调度策略为SCHED_OTHER

 

启动具有不同nice级别的进程
启动进程时,通常会继承父进程的 nice级别,默认为0。
例如: nice --5 command

[[email protected]t ~]# nice -n -5 sleep 6000 &
[[email protected] ~]# ps axo command,pid,nice |grep sleep


更改现有进程的nice级别
1. 使用top更改nice级别
r 调整进程的优先级(Nice Level) (-20高) ---0--- (19低)

2. 使用shell更改nice级别
[[email protected] ~]# sleep 7000 &
[3] 10089
[[email protected] ~]# renice -20 10089
10089: old priority 0, new priority -20







以上是关于linux进程管理之优先级的主要内容,如果未能解决你的问题,请参考以下文章

Linux之进程管理相关命令之四

Linux14 进程管理之进程相关命令

linux系统管理之进程管理

Linux性能及调优指南(翻译)之Linux进程管理

Python学习之路——Linux基础之系统进程管理

Linux上天之路(十三)之系统进程管理