web-dev-qa-db-ja.com

コマンドでSun SolarisのCPUの数を取得するにはどうすればよいですか?

「prtdiag」を使用して、prtdiagコマンドでCPUの数を取得できます。

$ prtdiag
System Configuration:  Sun Microsystems  Sun4u Sun Fire 6800
System clock frequency: 150 MHz
Memory size: 4096 Megabytes

========================= CPUs 
===============================================

             CPU      Run    E$   CPU      CPU
FRU Name    ID       MHz    MB   Impl.    Mask
----------  -------  ----  ----  -------  ----
/N0/SB1/P2    6      1200   8.0  US-III+  11.0
/N0/SB1/P3    7      1200   8.0  US-III+  11.0
/N0/SB3/P2   14      1200   8.0  US-III+  11.0
/N0/SB3/P3   15      1200   8.0  US-III+  11.0

しかし、スクリプトで使用できるようにするためのコマンド(この例では4)を取得できるコマンドがあるかどうかはわかりません。

6
Daniel YC Lin

最新のCPUとそのマルチコア、マルチスレッドテクノロジーでは、カウントする対象をより正確に定義する必要がありますが、この場合はpsrinfoの方が適しています。

psrinfo -p

prtdiagは解析可能に設計されておらず、ハードウェアによっては非常に異なる出力を返す可能性があることに注意してください。

9
jlliagre

psrinfoを使用した簡単なパイプのセットを次に示します。

psrinfo -v | grep ^Status | tail -1 | awk '{x = $5 + 1; print "CPUs: " x;}'

出力例:

CPU:6

3
Brad

いかがですか

_prtdiag | grep -c "^/"
_

結果の値をスクリプトで使用するには、$(prtdiag | grep -c "^/")を使用します。

0
Scott

すべてのCPU、コア、仮想CPU(スレッド)を見つけるのに適したスクリプトは次のとおりです

https://blogs.Oracle.com/mandalika/entry/solaris_show_me_the_cp

0
user154645