显示pthreads优先级

时间:2012-10-23 11:45:07

标签: linux pthreads

我有一个过程(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 -

我认为没有优先权的迹象。

这是我发现的东西。 (随意编辑)

  • UID =
  • PID =进程ID
  • PENDING =
  • BLOCKED =
  • IGNORED =
  • CAUGHT =
  • STAT =流程状态
  • TTY =与流程关联的终端
  • TIME =累计CPU时间
  • COMMAND =可执行文件名称

注:

我使用Linux 2.4.36而不使用gui

4 个答案:

答案 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_pa​​ram中,您可以将调度优先级作为整数找到。
使用它并将其打印到屏幕上。

有关更好的解释,请查看此手册页:
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

运行起来更容易