Linuxでは、マシンのコアがいくつアクティブであるかをどのように確認するのですか?このテストはAndroidでも機能すると思います。複数のコアがアクティブになっているかどうかを知る必要があります。プロセスに多数のスレッドを作成させることで、これをテストするのは不思議でした。スレッドがそれがどのプロセッサにあるかを照会することは可能ですか?そうすれば、高負荷で複数のコアが使用されるかどうかを知ることができます。私が正しい軌道に乗っているかどうかはわかりません。
Linuxでは、マシンのコアがいくつアクティブであるかをどのように確認するのですか?このテストはAndroidでも機能すると思います。複数のコアがアクティブになっているかどうかを知る必要があります。プロセスに多数のスレッドを作成させることで、これをテストするのは不思議でした。スレッドがそれがどのプロセッサにあるかを照会することは可能ですか?そうすれば、高負荷で複数のコアが使用されるかどうかを知ることができます。私が正しい軌道に乗っているかどうかはわかりません。
回答:
を使用top
して、各コアの使用率をリストできます。必要に応じて1を押して、CPUの行をコアごとに個別の行に分割します。
各プロセスで最後に使用したコアを示す列を追加することもできます。fを押してフィールドリストを表示し、jを押して「P」列をアクティブにします。次に、スペースを押してライブビューに戻ります。
top
スレッドを個別にリストするには、Hを押します。または、無限ループを使用してプログラムを作成し、何度も実行することもできます。
ps
psr
ジョブが実行されているプロセッサを通知するフィールドがあります。
したがって、次のようなものを使用できます。
ps -e -o psr= | sort | uniq | wc -l
ps
もちろん、このように実行するだけで、少なくとも1つのコアがアクティブになります。
おそらくこれを実行する方が良いでしょう:
tmp=/tmp/ps.$$
ps -e -o psr= > /tmp/ps.$$
sort -u "$tmp" | wc -l
rm "$tmp"
その方法は、sort
とwc
数を増加させません。
ps
ことにより、少なくとも1つのコアをアクティブにします。;-)