linux renice 命令详解
功能说明:调整程序优先级。
语 法:renice [优先等级][-g <程序群组名称>...][-p <程序识别码>...][-u <用户名称>...]
补充说明:renice指令可重新调整程序执行的优先权等级。预设是以程序识别码指定程序调整其优先权,您亦可以指定程序群组或用户名称调整优先权等级,并修改所有隶属于该程序群组或用户的程序的优先权。等级范围从-20--19,只有系统管理者可以改变其他用户程序的优先权,也仅有系统管理者可以设置负数等级。
参 数:
-g <程序群组名称> 使用程序群组名称,修改所有隶属于该程序群组的程序的优先权。
-p <程序识别码> 改变该程序的优先权等级,此参数为预设值。
-u <用户名称> 指定用户名称,修改所有隶属于该用户的程序的优先权。
linux安全网 www.zzvips.com 收集整理
一开始执行程式就立即给予一个特定的 nice 值:用 nice 命令;
调整某个已经存在的 PID 的 nice 值:用 renice 命令。
推荐阅读一:linux进程cpu资源分配命令nice,renice,taskset
进程cpu资源分配就是指进程的优先权(priority)。优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。
一、先看系统进程:
PR 就是 Priority 的简写,而 NI 是 nice 的简写。这两个值决定了PR的值,PR越小,进程优先权就越高,就越“优先执行”。换算公式为:PR(new) = PR(old) + NI
---------------------------------------------------------------------------
二、修改进程优先级的命令主要有两个:nice,renice
1、一开始执行程序就指定nice值:nice
Java代码
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
Java代码
renice -5 -p 5200
#PID为5200的进程nice设为-5
linux renice 命令详解
功能说明:调整优先权。
语 法:renice [优先等级][-g <程序群组名称>...][-p <程序识别码>...][-u <用户名称>...]
补充说明:renice指令可重新调整程序执行的优先权等级。预设是以程序识别码指定程序调整其优先权,您亦可以指定程序群组或用户名称调整优先权等级,并修改所有隶属于该程序群组或用户的程序的优先权。等级范围从-20--19,只有系统管理者可以改变其他用户程序的优先权,也仅有系统管理者可以设置负数等级。
参 数:
-g <程序群组名称> 使用程序群组名称,修改所有隶属于该程序群组的程序的优先权。
-p <程序识别码> 改变该程序的优先权等级,此参数为预设值。
-u <用户名称> 指定用户名称,修改所有隶属于该用户的程序的优先权。
2.2、也可以用top命令更改已存在进程的nice:
Java代码
top
#进入top后按"r"-->输入进程PID-->输入nice值
三、把进程运行到指定CPU(即修改进程的"CPU亲和性"):taskset
两个名词
SMP (Symmetrical Multi-Processing):指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。
CPU affinity:中文唤作“CPU亲和性”,是指在CMP架构下,能够将一个或多个进程绑定到一个或多个处理器上运行。
请先确定你的cpu核心及命名(例如四个核心:0,1,2,3):cat /proc/cpuinfo
Java代码
taskset -cp 1 5200
#把PID为5200的进程运行到CPU#1上
#也可以在启动进程时指定:
taskset -c 1 /etc/init.d/mysql start
推荐阅读二 关于程序的执行顺序nice renice
关于程序的执行顺序:
还记得我们提过的多人多工环境吧?因为目前的 x86 平台的 CPU 可以做到多工的行为, 所以啰,我们的 Linux 可以在 x86 上面‘同时进行多个工作’的呢!那么多个工作是如何进行的呢? 其实每个工作都会进入到 CPU 的工作排程当中,并等待 CPU 来执行, 而 CPU 会根据每个工作的优先执行序 (priority) 来判断谁比较重要, 所以某个工作就可能会比较优先被执行完毕啦!
也就是说, Linux 系统中,每个 process 都会拥有一个所谓的‘优先执行序 (priority)’的属性, 利用该属性来让 CPU 判断那个工作是比较重要的,那个工作在一群工作当中就会优先被执行, 也让系统资源可以分配的更恰当。我们可以使用 ps 还观察优先执行序:
[root@linux ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 0 18851 18827 0 77 0 - 1302 wait pts/0 00:00:00 su
4 S 0 18852 18851 0 76 0 - 1349 wait pts/0 00:00:00 bash
4 R 0 19510 18852 0 76 0 - 1111 - pts/0 00:00:00 ps
其中,那个 PRI 就是 Priority 的简写,而 NI 是 nice 的简写,这两个东西是凑在一起才产生目前的 PRI 值的! PRI 越小时,代表该程序可以具有‘越早被优先执行’的意思,只是 PRI 是由系统动态产生的, 并不会是一直固定的值喔。至于那个 NI (nice) 则是我们操作值额外给予的一个数值, 他可以影响 PRI 的值,基本上,他的相关性是这样的:
* PRI(new) = PRI(old) + nice
不过您要特别留意到,如果原本的 PRI 是 50 ,并不是我们给予一个 nice = 5 ,就会让 PRI 变成 55 喔! 因为 PRI 是系统‘动态’决定的,所以,虽然 nice 值是可以影响 PRI ,不过, 最终的 PRI 仍是要经过系统分析后才会决定的。另外, nice 值是有正负的喔,而既然 PRI 越小越早被执行, 所以,当 nice 值为负值时,那么该程序就会降低 PRI 值,亦即会变的较优先被处理。此外,您必须要留意到:
linux renice命令参数及用法详解(linux修改程序运行优先级命令)
2019-12-26 16:47linux命令大全 Linux
renice指令可重新调整程序执行的优先权等级。预设是以程序识别码指定程序调整其优先权,您亦可以指定程序群组或用户名称调整优先权等级,并修改所有隶属于该程序群组或用户的程序的优先权
延伸 · 阅读
- 2024-11-03晨报:《龙腾4》Steam“多半好评” 《Apex》不再支
- 2022-03-11在Linux下通过命令行打包Android应用的方法
- 2022-03-10这个 Linux 图形计算器让数学很有趣
- 2022-03-10Linux下部署springboot项目的方法步骤
- 2022-03-10linux中把.c的文件编译成.so文件
- 2022-03-10Linux服务器下安装配置Nginx的教程
- Linux
linux命令大全之telnet命令详解(linux远程登录)
telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要...
- Linux
Linux折腾记(二十二):虚拟机体验之Xen篇——令人脑洞大开的
这篇文章主要介绍了Linux折腾记(二十二):虚拟机体验之Xen篇——令人脑洞大开的奇异架构,在虚拟机领域,Xen具有非常高的知名度,其名字经常在各类文章...
- Linux
Linux系统一些重要的学习方法及路线图详解
对于Linux系统来说;一些学习方法及路线图是非常值得学习的,今天小编就为大家分享一下Linux系统一些重要的学习方法及路线图详解;有需要的朋友一起去...
- Linux
深入解析Linux下的磁盘缓存机制与SSD的写入放大问题
这篇文章主要介绍了深入解析Linux下的磁盘缓存机制与SSD的写入放大问题,设计到Linux的内核及线程等部分深度的知识,需要的朋友可以参考下...
- Linux
利用Linux高级IO实现非阻塞和多路复用IO
高级IO(Advanced IO)是一种在Linux系统中进行非阻塞和多路复用IO操作的技术。这种技术可以提高系统的并发处理能力,提升IO性能,并减少资源的消耗。下面...
- Linux
Linux系统中的访问控制:hosts.deny & hosts.allow
背景介绍 hosts.deny和hosts.allow是Linux系统中用于访问控制的重要工具,起源于TCP Wrapper软件,旨在提供对网络服务的访问控制。这两个文件在系统安全性方面...
- Linux
在 Linux 上使用 gImageReader 从图像和 PDF 中提取文本
gImageReader 是一个 GUI 工具,用于在 Linux 中利用 Tesseract OCR 引擎从图像和 PDF 文件中提取文本。...
- Linux
Linux下semop等待信号时出现Interrupted System Call错误(EINTR)解决方法
本篇文章是对在Linux下semop等待信号时出现Interrupted System Call错误(EINTR)的解决方法进行了详细的分析介绍,需要的朋友参考下...