Linux 进程管理 进程优先级管理

Linux进程优先级

Linux 是一个多用户、多任务的操作系统,系统中通常运行着非常多的进程。但是 CPU 在一个时钟周期内只能运算一条指令(现在的 CPU 采用了多线程、多核心技术,所以在一个时钟周期内可以运算多条指令。 但是同时运算的指令数也远远小于系统中的进程总数),所以需要由进程的优先级来决定哪一个进程的运算指令先执行,哪一个进程的运算指令后运行。

在 Linux 系统中,表示进程优先级的有两个参数:Priority 和 Nice。通过"ps -l"命令可以查看参数对应的值:

[[email protected] ~]# ps -le
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 80 0 - 35738 ep_pol ? 00:00:03 systemd
1 S 0 2 0 0 80 0 - 0 kthrea ? 00:00:00 kthreadd
...省略部分输出...

其中,PRI 代表 Priority,NI 代表 Nice。这两个值都表示优先级,数值越小代表该进程越优先被 CPU 处理。不过,PRI值是由内核动态调整的,用户不能直接修改。所以我们只能通过修改 NI 值来影响 PRI 值,间接地调整进程优先级。

PRI 和 NI 的关系 :PRI (最终值) = PRI (原始值) +NI

所以修改 NI 的值就可以改变进程的优先级。NI 值越小,进程的 PRI 就会降低,该进程就越优先被 CPU 处理;反之,NI 值越大,进程的 PRI 值就会増加,该进程就越靠后被 CPU 处理。

修改 NI 值时有几个注意事项:

  • NI 范围是 -20~19。
  • 普通用户调整 NI 值的范围是 0~19,而且只能调整自己的进程。
  • 普通用户只能调高 NI 值,而不能降低。如原本 NI 值为 0,则只能调整为大于 0。
  • 只有 root 用户才能设定进程 NI 值为负值,而且可以调整任何用户的进程。

nice命令:改变进程优先级

nice 命令可以给新执行的命令直接赋予 NI 值,但是不能修改已经存在进程的 NI 值。nice 命令格式如下:

[[email protected] ~] # nice [选项] 命令

选项:

  • -n NI值:给命令赋予 NI 值;

nice命令改变进程优先级

用默认优先级启动并apache服务,查看 PRI值是80,而NI值是0

[[email protected] ~]# service httpd start
[[email protected] ~]# ps -le 丨 grep "httd" | grep -v grep
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
1 S 0 2084 1 0 80 0 - 1130 - ? 00:00:00 httpd
5 S 2 2085 2084 0 80 0 - 1130 - ? 00:00:00 httpd
5 S 2 2086 2084 0 80 0 - 1130 - ? 00:00:00 httpd
5 S 2 2087 2084 0 80 0 - 1130 - ? 00:00:00 httpd
5 S 2 2088 2084 0 80 0 - 1130 - ? 00:00:00 httpd
5 S 2 2089 2084 0 80 0 - 1130 - ? 00:00:00 httpd

停止apache服务,并重启动apache服务,同时修改apache服务进程的NI值为-5

[[email protected] ~]# service httpd stop
[[email protected] ~]# nice -n -5 service httpd start
[rooteiocdlhost ~]# ps -le | grep "httpd" | grep -v grep
F S UID PID PPID C FRI NI ADDR SZ WCHAN TTY TIME CMD
1 S 0 2122 1 0 75 -5 - 1130 - ? 00:00:00 httpd
5 S 2 2123 2122 0 75 -5 - 1130 - ? 00:00:00 httpd
5 S 2 2124 2122 0 75 -5 - 1130 - ? 00:00:00 httpd
5 S 2 2125 2122 0 75 -5 - 1130 - ? 00:00:00 httpd
5 S 2 2126 2122 0 75 -5 - 1130 - ? 00:00:00 httpd
5 S 2 2127 2122 0 75 -5 - 1130 - ? 00:00:00 httpd

httpd进程的PRI值变为了75,而NI值为-5

renice 命令:改变进程优先级

renice 命令可以修改已经存在进程的 NI 值。renice 命令格式如下:

[[email protected] ~] # renice [优先级] PID

renice 命令改变进程优先级

[[email protected] ~]# renice -10 2125
2125: old priority -5, new priority -10
[[email protected] ~]# ps -le | grep "httpd" | grep -v grep
1 S 0 2122 1 0 75 -5 - 113.0 - ? 00:00:00 httpd
5 S 2 2123 2122 0 75 -5 - 1130 - ? 00:00:00 httpd
5 S 2 2124 2122 0 75 -5 - 1130 - ? 00:00:00 httpd
5 S 2 2125 2122 0 70 -10 - 1130 - ? 00:00:00 httpd
5 S 2 2126 2122 0 75 -5 - 1130 - ? 00:00:00 httpd
5 S 2 2.127 2122 0 75 -5 - 1130 - ? 00:00:00 httpd

PID为2125的进程的PRI值为70,而NI值为-10

原文地址:https://www.cnblogs.com/lizhouwei/p/10122680.html

时间: 2024-11-02 11:55:12

Linux 进程管理 进程优先级管理的相关文章

20150917 Linux进程查看与管理以及作业管理

第一.基础知识 MBR引导--内核--内核程序-->协调其它程序 一般内核运行在硬件之上,各应用也在硬件之前 1)OS的基本功能:文件系统.网络功能.进程管理.内存管理.驱动程序.安全功能 以上为通用目的设置的程序., 程序=指令+数据, 程序运行在内存当中.这个内存由物理内存映射逻辑空间 左则表示二个框分别表示指令和数据.物理内存划分固定大小的页框称为pageframe. 右则下面的方框表示物理内存.每个进程在右则上面的方框中,这部分为假的内存 空间称为线性地址空间. 2)CPU指令:  四个

9-17 linux进程查看和管理

Linux进程查看与管理 OS的基本功能:文件系统.网络功能.进程管理.内存管理.驱动程序.安全功能 程序=指令+数据 CPU:  特权指令  普通指令 程序执行环境:  内核模式:运行内核级指令  用户模式:运行普通指令 应用程序:   运行普通指令:直接运行于CPU   运行特权指令:通过system call 内存:8bits, 1byte  32bits, 2^32, 0-2^32-1, 2^10*2^10*2^10*2^2 bytes = 2^10*2^10*2^2 kilo byte

Linux进程查看及管理的工具

Linux进程查看及管理的工具:pstree, ps, pidof, pgrep, top, htop, glance, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup 1.pstree命令:    pstree - display a tree of processes    [[email protected] ~]# pstreeinit─┬─agetty     ├─auditd───{auditd}     ├─crond   

Linux进程查看,管理工具

浅谈linux下进程查看,管理工具 1.pstree 显示进程树. 显示各个进程之间的关系 [[email protected] ~]# pstree init─┬─abrtd      ├─acpid      ├─atd      ├─console-kit-dae───63*[{console-kit-da}]      ├─crond      ├─cupsd      ├─dbus-daemon      ├─dhclient      ├─fcoemon      ├─hald─┬─

Linux进程概念与管理

一.Linux进程概念 1.进程:Process,是运行中的程序的一个副本,有生命周期,都由其父进程创建 Linux内核存储进程信息的固定格式:taskstruct 多个任务的的taskstruct组件的链表:task list 2.进程优先级:0-139 0:一般不使用 1-99:实时优先级:数字越大优先级越高,系统自动安排 100-139:静态优先级:数字越小优先级越高,可手动更改 3.Nice值:-20至19,对应于100到139 普通用户只能将自己的优先级调低,root用户可以随意调制

Linux进程查看与管理

(A).进程相关的概念 计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某个地址等等.这些最基础的计算机动作被称为指令(instruction).程序(program)是由这些指令的集合所构成.程序一般是存储在磁盘上某个路径下的一个可执行文件,程序运行起来后,便成了进程(process),因此,进程便是程序的具体实现.因为Linux的哲学思想之一便是组合小程序,完成复杂任务,因此,要完成某功能可能需要启动多个小程序,因此,进程也会产生多个.进程都运行于内存当中.

Linux进程查看与管理、作业控制、网络客户端工具

写在前面: 博客书写牢记5W1H法则:What,Why,When,Where,Who,How. 本篇主要内容: ● 基础概念介绍 进程优先级 进程状态 ● 进程查看与管理命令     pstree     ps     pgrep/pkill     pidof     top     htop     vmstat     pmap     glances     dstat     kill     killall ● linux作业控制     nice     renice ● 网络客户

linux进程和服务管理

进程管理 1.查看进程 ps -ef ps -aux top -d 1     时间间隔1秒 默认3秒 -p XX  查看指定PID的进程信息 2.结束进程       服务管理   CentOS 7.0  1.启动关闭 systemctl start httpd.service    启动服务 systemctl stop  httpd.service    关闭服务 systemctl restart  httpd.service 重启服务 systemctl reload   httpd.

Linux进程优先级的处理--Linux进程的管理与调度(二十二)

日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.6 X86 & arm gatieme LinuxDeviceDrivers Linux进程管理与调度 1 前景回顾 1.1 进程调度 内存中保存了对每个进程的唯一描述, 并通过若干结构与其他进程连接起来. 调度器面对的情形就是这样, 其任务是在程序之间共享CPU时间, 创造并行执行的错觉, 该任务分为两个不同的部分, 其中一个涉及调度策略, 另外一个涉及上下文切换. 内核必须提供一种方法, 在各个进程之间