内容摘要:本文对cpu性能的命令作了详细介绍,并给出了对于系统cpu监控的建议。
renice不能在具有固定优先级的进程上使用。非root用户可以在一个或多个运行进程的nice值上加一个指定的值,但不能从中减去指定的值。也就是只能降低进程的优先级,而不能增加优先级。
renice -n -10 pidnumber ,将指定的进程nice值减小10。
renice -n +5 pidnumber ,将指定的进程nice值增加5。
根据nice值的不同取值,这里renice的值可以取值的范围是闭区间[-40,40 ]。为什么取值范围是这个呢?我们可以这样来理解,通过ps –l命令,我们可以看到NI的取值范围是闭区间[0,40],我们使用renice需要改变的也就是整个值,考虑两个极端的情况,假如现在为0,我们要把它改到40,就必须得renice –n 40,如果现在是40,我们要把它改为0,则renice的值就得是-40了。
当然,跟nice一样,在这里renice的值在命中使用的时候也可以超出这个闭区间,不会报错,但有效的结果只落在这个闭区间内。
# ps l 1630282
FSUID PID PPID C PRI NI ADDR SZ RSS WCHAN TTY TIME CMD
200001 A 0 1630282 680062 0 100 40 413e8400 472 484 EVENT pts/1 0:00 v
# renice -n -30 1630282
# ps l 1630282
FSUID PID PPID C PRI NI ADDR SZ RSS WCHAN TTY TIME CMD
200001 A 0 1630282 680062 0 50 10 413e8400 472 484 EVENT pts/1 0:00 v
我们可以总结一下,pri值的取值公式大概如下:
优先级值(PRI)= 基本优先级(60)+nice损失 + 基于最近CPU使用情况的CPU损失
总的来说nice值越小,进程的优先级越高,能分配到更多的cpu时间片。反之,也成立。
7、小结
对于系统cpu的监控,建议:
1)使用vmstat进行分析
2)sar –P ALL 1 10 分析,多个cpu间的负载是否平衡
3)ps aux 查看
4)tprof查看更详细的信息
来源:IT专家网 作者:Peak Wong 责编:豆豆技术应用