当我使用Solaris的prstat来获取线程的状态时,我得到了关注。 我无法理解的一件事是每个线程的te PRI与我的配置完全不同,以通过pthread_create创建这些线程。我将sme线程的优先级设置为10,但是这里的PRI显示出完全不同的优先级。谁可以帮助回答我的问题。 prstat命令的PRI和pthread_create的参数之间是否存在匹配关系?
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/LWPID
5874 mals 355M 313M run 32 0 20:09:58 4.1% epu1/26
5874 mals 355M 313M sleep 54 0 8:50:39 1.8% epu1/36
5874 mals 355M 313M sleep 59 0 2:13:10 1.5% epu1/40
5874 mals 355M 313M sleep 44 0 2:25:36 1.5% epu1/37
5874 mals 355M 313M sleep 59 0 5:21:01 1.1% epu1/24
5874 mals 355M 313M sleep 59 0 5:21:00 1.1% epu1/22
答案 0 :(得分:1)
prstat
命令显示的优先级是线程的当前优先级。
除非您处于实时/固定优先级线程的不太可能的情况下,否则它们会根据调度类,负载,各自的使用情况等而不断变化。
然后期望这些值与您以编程方式设置的值不同,这些值是静态优先级值。