How do you find out the number of CPU cores available in your Linux system? Here are a number of way, pick the one which works for you –
1. nproc command –
[daniel@kauai tmp]$ nproc 2
2. /proc/cpuinfo
[daniel@kauai tmp]$ grep proc /proc/cpuinfo processor : 0 processor : 1
3. top – run top command and press ‘1’ (number 1), you will see the list of cores at the top, right below tasks.
Cpu0 : 0.7%us, 0.3%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 2.7%us, 1.0%sy, 0.0%ni, 96.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
4. lscpu – display information about the CPU architecture. Count Sockets times Core(s) per socket, in this case 2 x 1=2 –
[daniel@kauai tmp]$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: AuthenticAMD CPU family: 16 Model: 6 Model name: AMD Athlon(tm) II X2 250 Processor Stepping: 3 CPU MHz: 3000.000 BogoMIPS: 6027.19 Virtualization: AMD-V L1d cache: 64K L1i cache: 64K L2 cache: 1024K NUMA node0 CPU(s): 0,1
5. Kernel threads – pick one of the kernel house keeping threads, such as “migration” or “watchdog” and see on how many cores it is running –
[daniel@kauai tmp]$ ps aux |grep '[m]igration' root 3 0.0 0.0 0 0 ? S Dec09 0:02 [migration/0] root 7 0.0 0.0 0 0 ? S Dec09 0:02 [migration/1] [daniel@kauai tmp]$ ps aux |grep '[w]atchdog' root 6 0.0 0.0 0 0 ? S Dec09 0:00 [watchdog/0] root 10 0.0 0.0 0 0 ? S Dec09 0:00 [watchdog/1]