В моем предыдущем посте мы обсудили, как найти список наиболее потребляемых процессов в Linux. Теперь мы обсудим, как найти количество ядер CPU в Linux.
Вопрос: Как найти количество ядер CPU в Linux?
-
Использование файловой системы Proc
Для того чтобы найти количество ядер CPU в Linux, можно воспользоваться файловой системой proc. Эта процедура представляет собой псевдо-файловую систему, которая отслеживает среду выполнения.
Для того, чтобы получить информацию центрального процессора, вам нужно просто cat “/proc/cpuinfo” в proc. Это дает детальную информацию о процессоре, таком как VENDOR_ID, семейства CPU, модель, CPU МГц и т.д., как показано ниже:
root@destroyer:~# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : QEMU Virtual CPU version 2.5+ stepping : 3 microcode : 0x1 cpu MHz : 2394.454 cache size : 4096 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 4 wp : yes flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good nopl pni cx16 hypervisor la hf_lm abm bugs : bogomips : 4788.90 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management: -----OUTPUT TRUNCATED---------------------------
Следовательно, чтобы найти количество ядер CPU в Linux с точными деталями используйте следующую команду:
root@destroyer:~# cat /proc/cpuinfo|grep processor processor : 0 processor : 1 processor : 2 root@destroyer:~# cat /proc/cpuinfo|grep processor|wc -l 3
Вот в этом случае мы получили 3 процессора, число в диапазоне от 0 до 2.
-
С помощью команды lscpu
Вы также можете найти количество ядер CPU в Linux с помощью команды lscpu.
root@destroyer:~# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 3 On-line CPU(s) list: 0-2 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 3 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 13 Model name: QEMU Virtual CPU version 2.5+ Stepping: 3 CPU MHz: 2394.454 BogoMIPS: 4788.90 Hypervisor vendor: KVM Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 4096K NUMA node0 CPU(s): 0-2 Flags: fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good nopl pni cx16 hypervis or lahf_lm abm
В приведенном выше примере четко упоминается число процессоров 3 напротив заголовка “CPU(s)”.
-
Использование команды NPROC
Команда NPROC поможет найти количество ядер CPU в Linux напрямую, без grep или расчета, и показано ниже.
root@destroyer:~# nproc 3
-
С помощью команды dmidecode
Команда dmidecode также предоставляет информацию о процессоре вместе с другой аппаратной информацией, такой как системная информация, информация о вентиляторах. Чтобы получить точно или найти количество ядер CPU в Linux с помощью команды dmidecode, вам нужно указать grep со словом CPU, как показано ниже:
root@destroyer:~# dmidecode |grep -i CPU Socket Designation: CPU 1 Socket Designation: CPU 2 Socket Designation: CPU 3