版权声明: 允许非商业性转载,但转载时必须标明原作者 、原始链接 及本声明。
nice和renice相信一般的linux管理员都会使用.
他们能够调整程序运行的优先级.
当然顺便提一句.
在 2.6.23 进入 mainline 的 CFS(Completely Fair Scheduler)
对优先级做了如下的规定:
进程的nice每提高1,则增加10%的CPU使用率,反之减少10%.
并与HZ的取值无关(原先的调度器受HZ的影响较大).
cpulimit和ionice相对知道的人就少多了
不过由于全新调度器的出现,手工调整的机会就更少了.
这些调整将会由核心自动进行.
不过偶自己认为,在IO上的改进对性能的提升帮助会更大.
所以,等出现了
(虽然它们根本不稳定)
不跑题了,开始说.
cpulimit – limits the CPU usage of a process
例子:
cpulimit -p PID -l 30
cpulimit -e firefox -l 30
限制进程使用30%的CPU,注意的是如果是多核系统的话,范围是0-100*n.
不过这东西根本就不是用来对付firefox假死的.
继续BS那些写出垃圾javascript的同学.
ionice – get/set program io scheduling class and priority
重要的参数:
-c The scheduling class. 1 for real time, 2 for best-effort, 3 for idle.
-n The scheduling class data. This defines the class data, if the class accepts an argument. For real time and best-effort, 0-7 is valid data.
(-c,-n 相当于io的优先级)
-p 就是 PID…:) 如果写了就改变,没写就像 nice 一样运行
例子
ionice -c2 -n0 cp xxx yyy
(提高cp的io优先级)
注意的是ionice仅用于 >=2.6.13,
且需要CFQ IO scheduler支持(不过这是默认的).
差点忘了告诉你们怎么装了.
用gentoo的同学们
emerge cpulimit schedutils
就能得到这两个小工具了.
参考资料
man pages: cpulimit(8),ionice(1)