当前位置: 首页 > article >正文

linux进程优先级与nice,Linux之renice和nice调整进程的优先级

前言:

有时我们需要执行一个程序,并且这个程序比较重要而且比较紧急,而CPU空闲的资源也比较少,这个时候我们就需要来调整这个程序的进程优先级,来给这个程序分配更多的CPU资源并且优先执行。

Linux下的renice和nice都是调整进程优先级的工具,优先级的值的范围是(-20至19),-20为最高优先级,19为最低优先级,默认程序进程的优先级为0。

1、renice命令

1)功能简介

renice命令可以调整Linux中正在运行的进程的优先级。[root@vms002 www]# man renice

NAME

renice - alter priority of running processes    #更改正在运行的进程的优先级

SYNOPSIS

renice [-n] priority [-gpu] identifier...

2)常用选项选项含义

-h | --help显示帮助文本信息并退出

-v | --version显示版本信息并退出

-n | --priority指定nice增加值(优先级值)

-u | --user=name将参数解释为用户名或用户ID

-g | --pgrp=gid将参数解释为进程组ID

-p | --pid=将参数解释为进程ID(默认)

3)实例

①  通过PID修改指令cat优先级为-20

#查看指令cat的优先级值以及PID号#测试数据

[root@vms002 www]# cat /dev/zero > /dev/null &

[1] 80886

#查看

[root@vms002 www]# ps -l|egrep "NI|cat"

F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD

0 R     0  80886  36107 99  80   0 - 26978 -      pts/2    00:02:52 cat

结果:以上得出指令cat的优先级的值为0(NI为优先级值),PID号为:80886。

#通过PID修改指令cat优先级为-20[root@vms002 www]# renice -n -20 -p 80886

80886 (进程 ID) 旧优先级为 0,新优先级为 -20

#再次查看指令cat的优先级值,看指令的优先级是否修改成功[root@vms002 www]# ps -l|egrep "NI|cat"

F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD

0 R     0  80886  36107 99  60 -20 - 26978 -      pts/2    00:26:37 cat

结果:通过以上显示指令cat的优先级为-20,表示优先级已修改成功。

②  修改用户root的优先级为-10

#查看进程优先级,当前进程都是root用户(当前用户)的,优先级都是为0[root@vms002 /]# ps -ao "%p%y$x%c%n"

PID TTY      COMMAND          NI

2678 pts/0    su                0

2686 pts/0    bash              0

32190 pts/0    dbus-launch       0

80886 pts/2    cat               0

81658 pts/1    su                0

81659 pts/1    bash              0

81709 pts/1    su                0

81715 pts/1    bash              0

81945 pts/1    ps                0

#修改用户root优先级为-10[root@vms002 /]# renice -n -10 -u root

0 (用户 ID) 旧优先级为 0,新优先级为 -10

#查看当前用户root的进程优先级[root@vms002 /]# ps -ao "%p%y%x%c%n"

PID TTY          TIME COMMAND          NI

2678 pts/0    00:00:00 su                0

2686 pts/0    00:00:00 bash            -10

32190 pts/0    00:00:00 dbus-launch     -10

80886 pts/2    01:01:03 cat             -10

81658 pts/1    00:00:00 su              -10

81659 pts/1    00:00:00 bash              0

81709 pts/1    00:00:00 su                0

81715 pts/1    00:00:00 bash            -10

81956 pts/1    00:00:00 ps              -10

结果:修改root用户优先级成功。

2、nice命令

1)功能简介

nice命令可以在启动命令时设置优先级。[root@vms002 /]# man nice

NAME

nice - run a program with modified scheduling priority   #运行具有修改调度优先级的程序

SYNOPSIS

nice [OPTION] [COMMAND [ARG]...]

2)常用选项选项含义

-n调整优先级,默认值为10

--help显示此帮助信息并退出

--version显示版本信息并退出

3)实例

#执行cat /dev/zero > /dev/null & 命令并同时设置优先级为-5#执行命令

[root@vms002 www]# nice -n -5 cat /dev/zero > /dev/null &

[1] 82338

#查看指令cat优先级是否设置成功

[root@vms002 www]# ps -l|egrep "NI|cat"

F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD

4 R     0  82338  36107 99  65 -15 - 26978 -      pts/2    00:00:14 cat

3、总结

1)renice命令:设置正在运行的进程的优先级,-n设置优先级,-p指定PID设置优先级,-u指定用户设置优先级;

2)nice命令:在启动程序时设置优先级。

标签:10,00,优先级,root,cat,renice,Linux,pts,nice

来源: https://blog.51cto.com/13716812/2405770

http://www.lryc.cn/news/2418910.html

相关文章:

  • ActivityThread源码分析
  • 【工作笔记0010】asp.net后台Request.QueryString获取的url中文参数乱码解决方案
  • UART简介
  • C语言:从零基础到精通—轻松写出第一个C语言程序
  • Xtreme.Toolkit.Pro
  • _Linux结束进程到底有多少种方法?
  • windows密码抓取的多种方法
  • OSIP协议栈(及eXoSIP,Ortp等)使用入门(2)
  • 电路方案分析(七)电源入口欠压保护(阈值设定电路)
  • API::CreateProcess()创建进程失败 返回1
  • 企业网站建设需要多少钱?定制开发费用报价在3000-4000元
  • 什么是线程和应用?线程和进程区别是什么?
  • 软件性能测试怎么做?有哪些常见的技术指标?
  • Python接口测试实战- 接口测试理论
  • Android组织首选项PreferenceScreen及首选项框架 ListPreference
  • http://www.51voa.com/VOA_Special_English/
  • 使用VMware安装Ubuntu虚拟机和VMware Tools
  • 09 内核开发-避免冲突和死锁-spinlock
  • ioctl函数详细说明
  • input标签的各种属性
  • PostgreSQL数据库事务系统——获取事务ID
  • Delphi各个版本的官方下载地址
  • 设计师创业的几种低成本思路
  • “lnk是什么文件 编程“ -> “在编程中,lnk文件的作用和特点“
  • (6)脱壳
  • 朋友圈(拉姆齐定理)- HDU 6152
  • ***工具大全
  • Verilog复杂逻辑设计指南-奇偶校验生成器和校验器及筒式移位器
  • 太吾绘卷第一世攻略_中国文学史上的各种类别的“第一”(史书类)
  • MyEclipse6.5下载地址(含注册码)