我有一个过程(testsuit)。在这个过程中,我使用两个pthreads(T1和T2)。
是否有可能在shell上显示有关此线程的信息(尤其是优先级)?
如果我使用top -H
我可以看到注意事项。
ps axms
告诉我这个
UID PID PENDING BLOCKED IGNORED CAUGHT STAT TTY TIME COMMAND
0 1 00000000 - - - - ? 0:00 init [3
.
.
.
0 1063 00000000 - - - - ttyS0 0:00 ./tests
0 - 00000000 00000000 00000000 <80000000 Sl - 0:00 -
0 - 00000000 00000000 00000000 <80000000 Rl - 0:00 -
0 - 00000000 00000000 00000000 <80000000 Rl - 0:00 -
我认为没有优先权的迹象。
这是我发现的东西。 (随意编辑)
注:
我使用Linux 2.4.36而不使用gui
答案 0 :(得分:0)
您可以检查/ proc / PID /任务目录。给定PID下的每个线程都在创建具有大量信息的目录。
答案 1 :(得分:0)
如果top
正在运行,请使用命令f
显示可能的列/字段列表。按i
选择“Nice value”。
从man top
逐字逐句
NI - 很好的价值
任务的好价值。一个负面的好价值 意味着更高的优先级,而正的良好意味着更低的优先级 优先。此字段中的零仅表示优先级不会 在确定任务的可调度性时进行了调整。
答案 2 :(得分:0)
您可以使用程序化方式。
pthread_getschedparam(pthread_t thread, int *policy, struct sched_param *param);
此函数给出了调度参数,在struct sched_param中,您可以将调度优先级作为整数找到。
使用它并将其打印到屏幕上。
有关更好的解释,请查看此手册页:
http://www.kernel.org/doc/man-pages/online/pages/man3/pthread_setschedparam.3.html
答案 3 :(得分:0)
使用top -H,您可以看到线程数看起来像top with -H option
有很多信息,使用top -H -p
运行起来更容易