文档章节

设置Linux进程优先级和CPU亲和性

yizhichao
 yizhichao
发布于 2017/03/21 20:28
字数 626
阅读 97
收藏 0

进程cpu资源分配就是指进程的优先权(priority)。优先权高的进程有优先执行权利。配置进程优先权对多任务环境的Linux很有用,可以改善系统性能。还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。 

一、先看系统进程: 
 
PR 就是 Priority 的简写,而 NI 是 nice 的简写。这两个值决定了PR的值,PR越小,进程优先权就越高,就越“优先执行”。换算公式为:PR(new) = PR(old) + NI 
--------------------------------------------------------------------------- 
二、修改进程优先级的命令主要有两个:nice,renice 

1、一开始执行程序就指定nice值:nice 

Java代码 

  1. 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代码 

  1. renice -5 -p 5200  
  2. #PID为5200的进程nice设为-5  


Linux renice 命令详解 

  功能说明:调整优先权。 

  语  法:renice [优先等级][-g <程序群组名称>...][-p <程序识别码>...][-u <用户名称>...] 

  补充说明:renice指令可重新调整程序执行的优先权等级。预设是以程序识别码指定程序调整其优先权,您亦可以指定程序群组或用户名称调整优先权等级,并修改所有隶属于该程序群组或用户的程序的优先权。等级范围从-20--19,只有系统管理者可以改变其他用户程序的优先权,也仅有系统管理者可以设置负数等级。 
  参  数: 
  -g <程序群组名称>  使用程序群组名称,修改所有隶属于该程序群组的程序的优先权。 
  -p <程序识别码>  改变该程序的优先权等级,此参数为预设值。 
  -u <用户名称>  指定用户名称,修改所有隶属于该用户的程序的优先权。 

© 著作权归作者所有

下一篇: react 杂
yizhichao

yizhichao

粉丝 16
博文 468
码字总数 363983
作品 0
南京
程序员
私信 提问
PHP 扩展--php-affinity

Php-affinity 通过设置cpu亲和性,可以将进程绑定到一个cpu核心上。一般在如下场景我们可能会希望修改进程的cpu亲和性: 频繁的并行运算 线程可伸缩性测试(通过增加cpu核心数量模拟线性扩展...

呼延平
2015/11/23
2.8K
0
docker cgroup技术之cpu和cpuset

 在centos7的/sys/fs/cgroup下面可以看到与cpu相关的有cpu,cpuacct和cpuset 3个subsystem。cpu用于对cpu使用率的划分;cpuset用于设置cpu的亲和性等,主要用于numa架构的os;cpuacct记录了...

xiaomin0322
07/02
23
0
如何在容器运行过程中对容器的资源限制进行调整

背景 docker run和docker create有一些参数可以对容器使用的主机资源进行限制。这些主机资源主要有如下类型 cpu调度 内存使用量 io权重 但是一旦创建了容器,容器在运行中或者不在运行中,如...

marshalzxy
2018/11/22
0
0
关于CPU亲和性的测试

今天看到运维的同事在配置nginx的CPU亲和性时候,运维同事说他在所有的机器上都是按照8核的方式来配置worker进程的CPU亲和性的。 但我觉得就是有点不太对劲,就查了一下nginx的处理workercpu...

Kevin6188
2016/10/09
3.6K
14
Linux中线程与CPU核的绑定

最近在对项目进行性能优化,由于在多核平台上,所以了解了些进程、线程绑定cpu核的问题,在这里将所学记录一下。 不管是线程还是进程,都是通过设置亲和性(affinity)来达到目的。对于进程的情...

晓亮1210
2014/02/07
364
0

没有更多内容

加载失败,请刷新页面

加载更多

CQRS与AXON

CQRS 看了蛮多文章,只会CRUD,却不懂CQRS,CQRS是遵循DDD思想而产生的一种模式,Command and Query Responsibility Segregation 命令与查询隔离。查询就直接通过正常的模式service调dao层。...

无极之岚
16分钟前
2
0
OSChina 周三乱弹 —— 欢迎你来做产品经理

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :10多次劲歌金曲获奖,更多叱咤歌坛排名,黎明才应该是四大天王之首,只可惜拍的电影太少。单曲循环一个多月的歌,力荐 《无名份的...

小小编辑
30分钟前
37
2
500行代码,教你用python写个微信飞机大战

这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。 帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!...

上海小胖
今天
8
0
关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
7
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部