1. nice命令

内核根据进程的nice值决定进程需要多少处理器时间. nice值的取值范围是是: -20到20. 一个具有-20 的 nice 值的进程有很高的优先级. 一个 nice 值为 20 的进程的优先级则很低.

1) 用 ps axl 显示所有正在运行的进程的 nice 值

# ps axl

F   UID   PID PPID PRI NI     VSZ RSS WCHAN STAT TTY TIME COMMAND

4     0     1     0 16    0 2172 552 -        S    ? 0:17 init [5]

1     0     3     1 34 19       0    0 ksofti SN   ? 3:18 [ksoftirqd/0]

1     0    10     1   5 -10     0    0 worker S<   ? 0:01 [events/0]

4     0 5145      1 25 10 32124 18592 -       SNs ? 0:08 /usr/bin/python /usr/bin/rhn-applet-gui --sm-client-id default4

4     0 5147 5142 16      0 3528 604 -        S    ? 0:00 /sbin/pam_timestamp_check -d root

1   503 17552 4180 16     0 14208 3920 -      S    ? 0:01 /home/www/apache2/bin/httpd -f /home/www/apache2/conf/httpd.conf -k start

2) 如何给一个shell脚本分配一个低的优先级(更高的nice值)?

在下面的例子里, 当我在后台启动 nice-test.sh 脚本, nice 值为 0.

$ ./nice-test.sh &

[3] 13009

$ ps axl | grep nice-test

0   509 13009 12863 17    0 4652 972 wait S pts/1 0:00 /bin/bash ./nice-test.sh

[注: 第六列数值为 0 的是 nice 值]

现在, 以不同的 nice 值来执行相同的脚本, 如下所示:

$ nice -10 ./nice-test.sh &

[1] 13016

$ ps axl | grep nice-test

0   509 13016 12863 30 10 4236 968 wait  SN pts/1      0:00 /bin/bash ./nice-test.sh

[注: 第六列数值为 10 的是该 shell 脚本的 nice 值]

3) 如何给一个shell脚本分配一个高的优先级(更低的nice值)?

下面的例子里, 分配给 shell 脚本 nice-test.sh 一个"-10"的 nice 值.

$ nice --10 ./nice-test.sh &

[1] 13021

$ nice: cannot set priority: Permission denied

注意: 只有 root 用户可以设置一个负的 nice 值. 用 root 用户登录再次尝试. 注意在下面的nice 命令里的 10 前面有一个双破折号.

# nice --10 ./nice-test.sh &

[1] 13060

# ps axl | grep nice-test

4     0 13060 13024 10 -10 5388 964 wait S< pts/1      0:00 /bin/bash ./nice-test.sh

[注: 第六列数值为-10 的是该 shell 脚本的 nice 值]

2. renice命令

renice 可以给正在运行的进程设置调度优先级.

1) 怎样降低一个运行进程的优先级(增加 nice值)?

下面的例子里, 一个存在的 shell 脚本运行时的 nice 值为 10. (ps 输出的第 6 列)

$ ps axl | grep nice-test

0   509 13245 13216 30 10 5244 968 wait  SN pts/1      0:00 /bin/bash ./nice-test.sh

为增加 nice 值(因此降低优先级), 按如下方法执行 renice 命令.

$ renice 16 -p 13245

13245: old priority 10, new priority 16

$ ps axl | grep nice-test

0   509 13245 13216 36 16 5244 968 wait  SN pts/1      0:00 /bin/bash ./nice-test.sh

[注: 现在, nice-test.sh (PID 13245)的第 6 列显示新的 nice 值是 16]

2) 怎样增加运行进程的优先级(减少 nice值)?

下面的例子里, 一个已有的 shell 脚本运行时 nice 值为 10. (ps 输出第 6 列)

$ ps axl | grep nice-test

0   509 13254 13216 30 10 4412 968 wait  SN pts/1      0:00 /bin/bash ./nice-test.sh

为提升其优先级, 赋予其一个较低的nice值. 然而, 只有root可以提升运行进程的优先级, 否则你会得到以下错误信息.

$ renice 5 -p 13254

renice: 13254: setpriority: Permission denied

Login as root to increase the priority of a running

process

$ su -

# renice 5 -p 13254

13254: old priority 10, new priority 5

# ps axl | grep nice-test

0   509 13254 13216 25    5 4412 968 wait     SN pts/1      0:00 /bin/bash ./nice-test.sh

注: 第 6 列现在显示了一个较低的 nice 值 5(提升的优先级)]

Linux下nice/renice命令小结的更多相关文章

  1. Linux下lz4解压缩命令小结

    lz4是一个让"人见人爱.花见花开"的压缩算法,能够在多核上很好的扩展.lz4在压缩率上略微逊色, 但是在解压速度上有着惊人的优势 (大概是gzip的3倍(多次测试对比)).因为压 ...

  2. Linux下内存查看命令

    在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...

  3. linux下显示dd命令的进度:

    linux下显示dd命令的进度: dd if=/dev/zero of=/tmp/zero.img bs=10M count=100000 想要查看上面的dd命令的执行进度,可以使用下面几种方法: 比 ...

  4. [转] 关于linux下通过shell命令(自动)修改用户密码

    关于linux下通过shell命令(自动)修改用户密码 2012-04-23 18:47:39 分类: 原文地址:关于linux下(自动)修改用户密码 作者:ubuntuer 本文章总结了如何手动.自 ...

  5. linux下安装7z命令及7z命令的使用

    本文主要介绍了在linux下安装7z命令的方法,同时介绍了7z命令的使用.7z压缩格式拥有众多优点,具有极高的压缩比率,如果你还不了解,请看文章:7z格式.LZMA压缩算法和7-Zip详细介绍. re ...

  6. 将linux下的rm命令改造成移动文件至回收站【转】

    转自:http://blog.csdn.net/a3470194/article/details/16863803 [-] 将linux下的rm命令改造成移动文件至回收站 将AIX下的rm命令改造成移 ...

  7. Linux下使用mail命令发送邮件

    因为需要经常备份网站的数据,所以了解并学习了下linux下如何通过shell来发送邮件,这里以CentOS为例,使用mail命令来进行外部邮件的发送.mail命令的语法如下: Usage: mail ...

  8. linux下常用FTP命令

    linux下常用FTP命令 1. 连接ftp服务器 1. 连接ftp服务器格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1b)服 ...

  9. Linux下的管道命令有这些:

    Linux下的管道命令有这些: 选取命令:cat grep 排序命令:sort wc uniq 双向重定向:tee 字符转换命令: tr, col, join, paste, expand 切割命令: ...

随机推荐

  1. 推荐!Sublime Text 最佳插件列表

    本文由 伯乐在线 - 艾凌风 翻译,黄利民 校稿.英文出处:ipestov.com.欢迎加入翻译组. 本文收录了作者辛苦收集的Sublime Text最佳插件,很全. 最佳的Sublime Text ...

  2. eclipse 发布APK

    在程序代码告一段落后,需要发布程序,以后还有后续版本更新,用户下载后自动提示更新. 但是平时测试都是debug的方式安装了,但是一个程序不可能是一个人在做,所以生成的密钥都是不一样的, 这就造成用户需 ...

  3. IDOC、ALE、EDI三者之间的区别于联系

    EDI (Electronic data interchange) - 是指按照同一规定的一套通用标准格式,将标准的经济信息,通过通信网络传输,在贸易伙伴的电子计算机系统之间进行数据交换和自动处理.由 ...

  4. bzoj 1012 维护一个单调数列

    Description 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度. 2. ...

  5. leetcode 41 First Missing Positive ---java

    Given an unsorted integer array, find the first missing positive integer. For example,Given [1,2,0]  ...

  6. Vue.js相关知识2-组件

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. poj1417 带权并查集+0/1背包

    题意:有一个岛上住着一些神和魔,并且已知神和魔的数量,现在已知神总是说真话,魔总是说假话,有 n 个询问,问某个神或魔(身份未知),问题是问某个是神还是魔,根据他们的回答,问是否能够确定哪些是神哪些是 ...

  8. 越狱Season 1-Episode 9: Tweener

    Season 1, Episode 9: Tweener - Seth: You have got to help me. 你一定要帮我 -Burrows:You've got to help me. ...

  9. Java——关于String(字符串)

     String s = "abc";//创建一个字符串对象在常量池中. String s2 = new String("abc");//创建两个对象   一 ...

  10. line-hieght与vertical-align的区别与联系

    7.3 line-height 行高指的是文本行的基线间的距离,但是文本之间的空白距离不仅仅是行高决定的, 同时也受字号的影响. 7.3.1 语 法 line-height属性的具体定义列表如下: 语 ...