Linuxでは、マシンのコアがいくつアクティブであるかを確認するにはどうすればよいですか?これのテストはAndroidでも機能すると思います。複数のコアがアクティブであるかどうかを知る必要があります。プロセスに多数のスレッドを作成させることでこれをテストしたいと思っていました。それは可能ですか?スレッドがどのプロセッサ上にあるかを照会する場合、その方法で複数のコアが高負荷のもとで使用されるかどうかを確認できます。
top
を使用して、各コアの使用率をリストできます。必要に応じて1を押して、CPU行を各コアの個別の行に分割します。
各プロセスで最後に使用されたコアを示す列を追加することもできます。 fを押してフィールドリストを表示し、次にjを押して「P」列をアクティブにします。次に、スペースキーを押してライブビューに戻ります。
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
はカウントを増やしません。
htop
このコマンドは、ubuntuとcentosの両方で適切に機能し、CPUの数とそれらの使用状況をグラフィカルに示します。
centosの場合:
yum install htop
ubuntuの場合:
apt-get install htop
Cat/sys/devices/system/cpu/possibleまたはcat/sys/devices/system/cpu/onlineを使用できます。可能性は主に、特定のプログラムを実行するためにCPUを分離した場合です。