linux 提高进程优先级nice

nice:

更改优先级

nice -n 10 bash

如果是超级用户,则-n后面的值可以为负数:-20<=x<=19

 

renice:

如果您正好启动了一个进程,但意识到它应该以不同的优先级运行,那么有一种方法可以在启动之后对其进行更改,即使用 renice命令。您可以为进程指定一个绝对优先级(不是调整值)

renice +x PID

x指的是一个数字,PID为需要指定的进程的PID值


测试:

先写一个脚本,它可以传入两个参数,保存为count1.sh

#!/bin/bash
x="$1"
echo "$2" $(date)
while [ $x -gt 0 ]; do x=$(( x-1 ));done
echo "$2" $(date)


通过设定不同的优先级运行,发现脚本的完成顺序是不一样的:

(sh count1.sh 5000000 A&);(nice -n 6 sh count1.sh 5000000 B&);\
> (nice -n 12 sh count1.sh 5000000 C&);(nice -n 18 sh count1.sh 5000000 D&);\
> sleep 1;ps -l;sleep 30

执行情况:

A Thu Jan 21 16:06:00 EST 2010
C Thu Jan 21 16:06:00 EST 2010
D Thu Jan 21 16:06:00 EST 2010
B Thu Jan 21 16:06:00 EST 2010
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 R 1000 1422 1 94 80 0 - 1001 - pts/3 00:00:00 sh
0 R 1000 1424 1 42 86 6 - 1001 - pts/3 00:00:00 sh
0 R 1000 1427 1 56 92 12 - 1001 - pts/3 00:00:00 sh
0 R 1000 1431 1 14 98 18 - 1001 - pts/3 00:00:00 sh
0 R 1000 1435 32408 0 80 0 - 1684 - pts/3 00:00:00 ps
0 S 1000 32408 32407 0 80 0 - 5368 wait pts/3 00:00:02 bash
A Thu Jan 21 16:06:14 EST 2010
B Thu Jan 21 16:06:17 EST 2010
C Thu Jan 21 16:06:26 EST 2010
D Thu Jan 21 16:06:30 EST 2010





posted on 2012-03-18 15:38  vincent Van Gogh  阅读(1874)  评论(0编辑  收藏  举报

导航