3

私はプロセス(テストスーツ)を持っています。このプロセスでは、2 つの pthread ( T1 と T2 ) を使用します。

このスレッドに関する情報をシェルに表示する可能性はありますか (特に優先度)?

私が使用する場合、私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 -

Priorityの表示は無いと思います。

それが私が見つけたものです。(自由に編集してください)

  • UID =
  • PID = プロセス ID
  • 保留中 =
  • ブロック済み =
  • 無視 =
  • キャッチ=
  • STAT = プロセス状態
  • TTY = プロセスに関連付けられた端末
  • TIME = 累積 CPU 時間
  • コマンド = 実行可能ファイル名

ノート:

GUIなしでLinux 2.4.36を使用しています

4

4 に答える 4

0

top -H を使用すると、スレッドの数を確認できます-H オプションを使用すると、画像の上部が表示されます

情報量が多く、top -H -p で実行した方が楽

于 2015-10-07T14:11:52.380 に答える
0

/proc/PID/task ディレクトリを確認できます。指定された PID の下の各スレッドは、そこに非常に多くの情報を含むディレクトリを作成しています。

于 2012-10-23T13:26:20.480 に答える
0

が実行されている場合topは、コマンドを使用してf可能な列/フィールドのリストを表示します。を押して「Nice value」を選択しますi

からの逐語man top:

NI -- ナイスバリュー

タスクの素敵な価値。負のナイス値は優先度が高いことを意味し、正のナイス値は優先度が低いことを意味します。このフィールドのゼロは、タスクのディスパッチ可能性を決定する際に優先度が調整されないことを意味します。

于 2012-10-23T14:28:40.500 に答える
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

于 2012-10-23T15:39:42.583 に答える