¿Cuántos hilos debo ejecutar en esta máquina?
Mi lscpu
dice que hay 96 núcleos. ¿Son esos núcleos físicos? ¿Cuál es el hilo máximo y óptimo que puedo ejecutar en esta máquina?
https://stackoverflow.com/a/10670440/610569 muestra que puedo ejecutar más de 20 hilos por núcleo. Esta bien? ¿Eso es óptimo?
alvas@server:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 96
On-line CPU(s) list: 0-95
Thread(s) per core: 2
Core(s) per socket: 12
Socket(s): 4
NUMA node(s): 4
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E5-4657L v2 @ 2.40GHz
Stepping: 4
CPU MHz: 2700.000
CPU max MHz: 2900.0000
CPU min MHz: 1200.0000
BogoMIPS: 4801.91
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 30720K
NUMA node0 CPU(s): 0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92
NUMA node1 CPU(s): 1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,89,93
NUMA node2 CPU(s): 2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94
NUMA node3 CPU(s): 3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63,67,71,75,79,83,87,91,95
Disculpe mi novato en núcleos / hilos.
fuente
Cada subproceso de núcleo de CPU (subproceso basado en hardware): uno de sus 96 núcleos puede manejar eficientemente 16 subprocesos (subproceso basado en software fe C ++ thread.h) en la mayoría de los casos en mi opinión teórica.
fuente
Encontrará cuántos subprocesos puede ejecutar en su máquina ejecutando el comando htop o ps que devuelve el número de procesos en su máquina.
Puede usar la página de manual sobre el comando 'ps'.
Si desea calcular el número de procesos de todos los usuarios, puede usar uno de estos comandos:
ps -aux| wc -l
ps -eLf | wc -l
Número de cálculo de un proceso de usuario:
ps --User root | wc -l
Además, puede usar "htop" [Referencia] :
Instalación en Ubuntu o Debian:
Instalación en Redhat o CentOS:
Si desea compilar htop desde el código fuente, lo encontrará aquí .
fuente