0

プロセスに対して top -H -p を実行したところ、LWP を使用するスレッドがいくつかありました。しかし、最初に最小の PID で結果を並べ替えると、最初のスレッドの時間が一定であることに気付きましたが、他のスレッドの時間は変化しています。なぜ TIME+ は違うのですか?

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 16989 root 20 0 106m 28m 2448 S 0.0 0.2 0:22.31 glusterfs 16990 root 20 0 106m 28m 2448 S 0.0 0.2 0:00.00 glusterfs 16992 root 20 0 106m 28m 2448 S 0.0 0.2 0:00.00 glusterfs 16993 root 20 0 106m 28m 2448 S 0.0 0.2 0:00.00 glusterfs 16997 root 20 0 106m 28m 2448 S 0.0 0.2 0:11.71 glusterfs 17010 root 20 0 106m 28m 2448 S 0.0 0.2 0:21.07 glusterfs 17061 root 20 0 106m 28m 2448 S 0.0 0.2 0:00.00 glusterfs

4

2 に答える 2

1

なぜ TIME+ は違うのですか?

異なるスレッドが異なるパーセンテージの作業を行っているためです。これにはいくつかの理由が考えられます1が、最も可能性が高いのは、アプリケーション (glusterfs) が作業をワーカー スレッド間で均等に分散しようとしていないことです。

心配する必要はありません。作業レベル (%CPU を参照) が無視できる場合、どのスレッドが作業を行うかは問題ではありません。


1 - 誰かが時間と気力があれば、glusterfs のソース コードを見て、その動作を理解しようとすることができます。しかし、その努力は正当化されるものではないと思います。

于 2015-02-21T00:11:19.333 に答える