web-dev-qa-db-ja.com

Linuxでは、マシンのコアがいくつアクティブであるかを確認するにはどうすればよいですか?

Linuxでは、マシンのコアがいくつアクティブであるかを確認するにはどうすればよいですか?これのテストはAndroidでも機能すると思います。複数のコアがアクティブであるかどうかを知る必要があります。プロセスに多数のスレッドを作成させることでこれをテストしたいと思っていました。それは可能ですか?スレッドがどのプロセッサ上にあるかを照会する場合、その方法で複数のコアが高負荷のもとで使用されるかどうかを確認できます。

14
likejudo

topを使用して、各コアの使用率をリストできます。必要に応じて1を押して、CPU行を各コアの個別の行に分割します。

各プロセスで最後に使用されたコアを示す列を追加することもできます。 fを押してフィールドリストを表示し、次にjを押して「P」列をアクティブにします。次に、スペースキーを押してライブビューに戻ります。

19
Brian

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"

そうすれば、sortwcはカウントを増やしません。

6
Mikel
htop

このコマンドは、ubuntuとcentosの両方で適切に機能し、CPUの数とそれらの使用状況をグラフィカルに示します。

centosの場合:

yum install htop

ubuntuの場合:

apt-get install htop
3
Srihari Karanth

以下を試してください:

cat /proc/cpuinfo

これが リンク からAndroid Javaの例です。

2
Amir Afghani

Cat/sys/devices/system/cpu/possibleまたはcat/sys/devices/system/cpu/onlineを使用できます。可能性は主に、特定のプログラムを実行するためにCPUを分離した場合です。

0
Sabster