linux设置进程优先级工具,linux性能分析优化之基础指标参数(3) - 进程优先级 cpu nice priority NI PR %ni %nice...

查看方式

使用top命令,输出的下半部分信息中的进程信息中,PR列表示进程的优先级(priority),NI列表示进程的nice值。

如下图中,3个进程的PR都为20,NI都为0。1

2

3

4

5

6

7

8

9

10top - 19:56:32 up 122 days, 5:03, 1 user, load average: 0.10, 0.07, 0.01

Tasks: 121 total, 1 running, 120 sleeping, 0 stopped, 0 zombie

Cpu(s): 2.7%us, 4.2%sy, 0.0%ni, 93.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Mem: 3922456k total, 2580684k used, 1341772k free, 254848k buffers

Swap: 0k total, 0k used, 0k free, 1586028k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

4376 root 20 0 1176m 18m 5088 S 2.7 0.5 74:27.06 guard

28847 root 20 0 42228 19m 5480 S 0.7 0.5 953:35.27 consul

12 root 20 0 0 0 0 S 0.3 0.0 12:54.89 events

nice的含义

一般表示为NI

nice用来设置进程的优先级。取值范围为[-20, 19]。值越大,表示对别的进程越友好(越nice嘛),即优先级越低。

nice默认值为0。

子进程会继承父进程的nice值。

为进程设置nice

启动进程时指定nice值1

2

3

4# nice -n

# 举例:

$nice -n 19 stress -c 1

$nice -n -20 stress -c 1

修改已启动进程的nice值1#renice -n -p

priority的含义

一般表示为PR

进程执行优先级。

在linux内核2.6.23以及之后的版本,PR=NI+20。(在linux内核2.6.23之前,PR=NI+20+x,x可以为负数。x是动态调整进程执行优先级的参数。比如说,某个进程有大量的sleep,那么x会降低导致PR降低,导致优先级上升。再比如,某个进程占用了大量CPU时间,那么x会升高导致PR升高,导致优先级下降。)

CPU %ni %nice 使用率的含义

CPU %nice,表示低优先级进程的CPU使用率。

比如我们最上面那张top命令的截图中的第三行,%ni使用率为0.0%1

2

3

4# top命令的第三行信息如下

.

Cpu(s): 2.7%us, 4.2%sy, 0.0%ni, 93.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

.

以下我们来验证。我们用stress工具来模拟一个计算型进程。(关于stress工具更详细的描述可以参见我以前写的这篇文章: stress - 系统压力模拟工具 | yoko blog )1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25# 正常启动一个计算型stress进程

$stress -c 1

# top命令输出如下

# Cpu(s): 51.4%us, 3.7%sy, 0.0%ni, 44.6%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st

# 由于我的测试机器是双核的,所以用户态CPU使用率在50%左右

# 启动一个低优先级的stress进程

$nice -n 19 stress -c 1

# top命令输出如下

# Cpu(s): 2.5%us, 3.9%sy, 48.1%ni, 45.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

# 可以看到48.1%ni,说明低优先级CPU使用率在50%左右

# 再试试nice设置为1

$nice -n 1 stress -c 1

# top命令输出如下

# Cpu(s): 2.2%us, 3.5%sy, 49.2%ni, 45.0%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st

# 可以看到依然使用%ni

# 再试试nice设置为-20

$nice -n -20 stress -c 1

# Cpu(s): 53.1%us, 3.5%sy, 0.0%ni, 43.2%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st

# 可以看到使用的是%us

参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值