请教下各位高手,默认情况下 linux 里内核线程的优先级是不是始终比应用程序的优先级高?
我试着将内核进程和应用程序的优先级使用 cat /proc/pid/stat 打印出来看,结果如下:
root@am335x-evm:~# ./procstat 1
pid: 1
tcomm: (init)
state: S
ppid: 0
pgid: 1
sid: 1
tty_nr: 0
tty_pgrp: -1
flags: 4194560
min_flt: 54
cmin_flt: 19277
maj_flt: 97
cmaj_flt: 477
utime: 0.090000
stime: 5.550000
cutime: 0.410000
cstime: 1.420000
priority: 20
nice: 0
rt_priority: 0
policy: 0
root@am335x-evm:~# ./procstat 682
pid: 682
tcomm: (HMI_V2)
state: S
ppid: 1
pgid: 628
sid: 628
tty_nr: 0
tty_pgrp: -1
flags: 4194560
min_flt: 5014
cmin_flt: 1497
maj_flt: 3248
cmaj_flt: 455
utime: 3756.070000
stime: 573.020000
cutime: 0.040000
cstime: 0.160000
priority: 1
nice: -19
cpu: 0
rt_priority: 0
policy: 0从上面可以看出:
内核线程 init 其 priority 值为20,nice值为0;而应用程序 HMI_V2 其 priority 值为 1,nice值为 -19;我的疑惑是这两个值是如何决定优先级的?我之前的理解是,如果都是用户程序,则可通过 renice 调整其 nice值,值越小优先级就越高;但这个 priority 的值又该如何理解?请各位大侠赐教。
我试着将内核进程和应用程序的优先级使用 cat /proc/pid/stat 打印出来看,结果如下:
root@am335x-evm:~# ./procstat 1
pid: 1
tcomm: (init)
state: S
ppid: 0
pgid: 1
sid: 1
tty_nr: 0
tty_pgrp: -1
flags: 4194560
min_flt: 54
cmin_flt: 19277
maj_flt: 97
cmaj_flt: 477
utime: 0.090000
stime: 5.550000
cutime: 0.410000
cstime: 1.420000
priority: 20
nice: 0
rt_priority: 0
policy: 0
root@am335x-evm:~# ./procstat 682
pid: 682
tcomm: (HMI_V2)
state: S
ppid: 1
pgid: 628
sid: 628
tty_nr: 0
tty_pgrp: -1
flags: 4194560
min_flt: 5014
cmin_flt: 1497
maj_flt: 3248
cmaj_flt: 455
utime: 3756.070000
stime: 573.020000
cutime: 0.040000
cstime: 0.160000
priority: 1
nice: -19
cpu: 0
rt_priority: 0
policy: 0从上面可以看出:
内核线程 init 其 priority 值为20,nice值为0;而应用程序 HMI_V2 其 priority 值为 1,nice值为 -19;我的疑惑是这两个值是如何决定优先级的?我之前的理解是,如果都是用户程序,则可通过 renice 调整其 nice值,值越小优先级就越高;但这个 priority 的值又该如何理解?请各位大侠赐教。
解决方案 »
- 【21天实战Caffe】不能编译问题
- centos7安装pdo_oci出现的错误
- linux下如何对比两个文件夹差别并生成补丁文件
- 关于应用程序运行机制的疑惑
- shell里面怎么将字符串 “24.07.2018 16:26:05” 变换成 “2018-07-24 16:26:05”
- wifi驱动问题 make错误
- arm-Linux内核交叉编译 出现错误 selected processor does not support movt r2 32768
- CentOs7 samba 不写入文件
- you may need to add ‘xxx’to ALLOWED_HOSTS怎么解?
- 求推荐,不经过路由器,不经过第三方公网服务器的linux端口映射软件~
- putty用root登录出现access denied,系统Centos 6 x86_64 bbr
- 求助
至于 priority 和nice之间的联系,得好好研究一下,网上有很多文章,
大致应该是priority+nice是最后的优先级,至于细节,你得结合着代码来看,并且不同的kernel版本,调度策略也不一样,