使っているサーバのCPUが「何コア?」で、「ハイパースレッドはあるのか?」、「キャッシュサイズは?」、「仮想化対応しているか?」といった、スペック情報を知りたい場合があります。そういう場合に使える方法の一つに/proc/cpuinfoを確認するというのがあります。
以下は手元の1コアのみを割り当てたVMWarePlayerのVMの出力です。コアは1個しか割り当てていないので、"processor: 0"のみですが、複数ある場合は、下の表示がコア数分出力されます。各出力ではprocessorの部分が1、2....と変わります。
また、ハイパースレッディングが有効な場合、さらに実際のコア数の倍の出力があります。物理的なコア数と異なってしまうので注意が必要です。コア数やキャッシュ数詳細はlscpuコマンドなどのほうが向いているかもしれません。
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz
stepping : 7
cpu MHz : 2791.109
cache size : 4096 KB
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx hypervisor lahf_lm ida arat epb xsaveopt pln pts dts
bogomips : 5582.21
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
lscpuに対して、CPUがサポートする機能にどんなものがあるかを詳細に確認することが出来ます。CPUの仕様を確認するためには/proc/cpuinfoのflagsから情報を得ることが出来ます。
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx hypervisor lahf_lm ida arat epb xsaveopt pln pts dts