Quantas threads devo executar nesta máquina?
Meu lscpu
diz que existem 96 núcleos. Esses núcleos físicos são? Qual é o encadeamento máximo e ideal que posso executar nesta máquina?
https://stackoverflow.com/a/10670440/610569 mostram que posso executar mais de 20 threads por núcleo. Tudo bem? Isso é ótimo?
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
Perdoe minha noobiness em núcleos / threads.
fonte
Cada thread de núcleo da CPU (thread baseado em hardware) - um de seus 96 núcleos pode lidar com 16 threads de maneira eficiente - 16 threads (thread baseado em software, fe C ++ thread.h) na maioria dos casos, na minha opinião teórica.
fonte
Você encontrará quantos threads você pode executar em sua máquina executando o comando htop ou ps que retorna o número de processos em sua máquina.
Você pode usar a página de manual sobre o comando 'ps'.
Se você deseja calcular o número de todos os processos do usuário, pode usar um destes comandos:
ps -aux| wc -l
ps -eLf | wc -l
Calculando o número de um processo do usuário:
ps --User root | wc -l
Além disso, você pode usar "htop" [Referência] :
Instalando no Ubuntu ou Debian:
Instalando no Redhat ou CentOS:
Se você deseja compilar o htop a partir do código fonte, você o encontrará aqui .
fonte