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

  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 <用户名称>  指定用户名称,修改所有隶属于该用户的程序的优先权。

2.2、也可以用top命令更改已存在进程的nice:

Java代码

  1. top
  2. #进入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代码

  1. taskset -cp 1 5200
  2. #把PID为5200的进程运行到CPU#1上
  3. #也可以在启动进程时指定:
  4. taskset -c 1 /etc/init.d/mysql start

linux taskset命令详解

SYNOPSIS 
       taskset [options] [mask | list ] [pid | command [arg]...] 
OPTIONS 
       -p, --pid 
              operate on an existing PID and not launch a new task 
       -c, --cpu-list 
              specifiy  a  numerical  list of processors instead of a bitmask. 
              The list may contain multiple items,  separated  by  comma,  and 
              ranges.  For example, 0,5,7,9-11. 
       -h, --help 
              display usage information and exit 
       -V, --version 
              output version information and exit

原文地址:https://www.cnblogs.com/xiaoleiel/p/8349659.html

时间: 2024-08-29 18:40:42

linux进程cpu资源分配命令nice,renice,taskset的相关文章

linux 进程管理相关命令汇总

## processes 进程管理 ##ps查看当前系统执行的线程列表,进行瞬间状态,不是连续状态,连续状态需要使用top名称查看 更多常用参数请使用 man ps查看 ps ##显示所有进程详细信息 ps aux ##-u 显示某个用户的进程列表 ps -f -u www-data ## -C 通过名字或者命令搜索进程 ps -C apache2 ## --sort 根据进程cpu使用率降序排列,查看前5个进程 -pcpu表示降序 pcpu升序 ps aux --sort=-pcpu | he

linux进程时间定时任务命令

前面我们学习了系统信息,用户,网络,磁盘类命令,今天我们继续学习进程,安装,时间,定时任务命令. 进程类命令 在讲这类命令前我先给大家说下一些关于进程的基本概念.什么是进程?大家都知道程序吧!程序就是编程人员写的,存放在磁盘上没有运行.当他运行的时候就叫做进程.说到进程,我又想起一个线程的概念,所谓的线程就是进程下的仔.我们这样理解更好点儿.一个进程可以有很多线程.至于他们的区别后面我们会详细的讲. 我们的计算机运行一个程序的时候就会产生进程,那我们怎么知道计算机进程运行的情况呢?在Linux下

Linux进程管理相关命令

进程状态查看命令: ps:Process State -o:指定显示字段 进程状态显示有两种风格: BSD风格:使用时不加- SysV风格:使用时加- BSD风格: a:显示所有与终端有关的进程 u:显示进程由哪个用户启动的 x:显示所有与终端无关的进程 SysV风格: -elF -ef -eF 进程的状态: D:不可中断的睡眠 R:运行或就绪 S:可中断的睡眠 T:停止 Z:僵尸进程 <:高优先级进程 N:低优先级进程 +:前台进程组中的进程 l :多线程进程 s:会话进程首进程 [ ]:加了

Linux进程管理相关命令详解

一.top top命令用于显示系统当前的进程和其他状况:top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果再前台执行该命令,它将独占前台,直到用户终止该程序为止. 其中1-5行为统计信息区,剩余行为进程信息区:1.统计信息区1)第1行为任务队列信息(与uptime命令运行结果相同)字段含义:当前时间     系统启动持续时间   当前登陆用户数    系统负载,即任务队列的平均长度备注:格式为"日期,时:分"  三个数值分别为1,5和15分钟前到现在的均值2)第2行为

查看Linux进程CPU过高具体的线程堆栈(不中断程序)

1.TOP命令,找到占用CPU最高的进程 $ top top - 20:11:45 up 850 days,  1:18,  3 users,  load average: 1.04, 1.01, 0.99 Tasks:  61 total,   1 running,  60 sleeping,   0 stopped,   0 zombie Cpu(s):  1.4% us,  0.1% sy,  0.0% ni, 98.3% id,  0.1% wa,  0.0% hi,  0.2% si 

理解proc目录与linux进程、ps命令、netstat命令的关系

零.proc目录简介 proc目录是虚拟文件系统(VFS)的一种实现,保存了进程信息(pid目录)和一些系统信息. 一.系统的信息 1.cpuinfo和meminfo两个文件 查看CPU和内存相关信息 2.kmsg文件.mounts文件.modules文件 分别记录内核输出日志,挂载目录情况和内核模块(lsmod的原理)情况 3.uptime文件.version文件 存启动时间信息,和内核版本信息 4.net目录 存储协议连接情况,netstat的原理就是查看这里,当然输出是格式化了的,与进程号

Linux系统--Linux进程与作业管理(1)

Linux系统--Linux进程与作业管理(1) 先了解一些基本概念:内核的功能,程序的组成,进程,进程的类型和运行状态,进程的分类,Linux中的第一个进程init,Linux内核存储进程信息的格式,进程的优先级,进程间的通信. 1.Linux内核的功能和程序的组成: Linux内核是一种开源电脑操作系统.是用来与硬件打交道并为用户程序提供一个有限服务集的软件.Linux内核支持模块化,支持模块的动态加载和卸载,可以把模块驱动编辑到内核中,也可以不编辑到内核,直接调用需要的模块.Linux内核

Linux中CPU亲和性(affinity)

0.准备知识 超线程技术(Hyper-Threading):就是利用特殊的硬件指令,把两个逻辑内核(CPU core)模拟成两个物理芯片, 让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率. 我们常听到的双核四线程/四核八线程指的就是支持超线程技术的CPU. 物理CPU:机器上安装的实际CPU, 比如说你的主板上安装了一个8核CPU,那么物理CPU个数就是1个,所以物理CPU个数就是主板上安装的CPU个数. 逻辑CPU:一般情况,我

linux进程控制

每个进程都有非负的整型表示唯一的进程ID. 进程是一个数据结构变量,有多少个进程,就有多少个PCB. 几个典型进程的ID及其类型和功能: ID      进程名         中文名       类型           作用 0      swapper    交换进程  系统进程     它是内核的一部分,不执行磁盘上的程序,是调度进程. 1         init            init进程     用户进程     永不停止,启动系统,读取系统初始化的文件. 一些常用的进程标