Cores vs Threads: Сколько потоков следует запускать на этой машине?

Сколько потоков я должен запускать на этой машине?

Мой lscpu говорит, что есть 96 ядер. Являются ли эти физические ядра? Каков максимальный и оптимальный поток, который я могу запустить на этом компьютере?

https://stackoverflow.com/a/10670440/610569 показывает, что я могу запускать более 20 потоков на ядро. Все хорошо? Является ли это оптимальным?

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

Простите мою мобильность в ядрах / потоках.

1
задан 23 May 2017 в 15:39

2 ответа

Каждый основной поток cpu (аппаратный поток) - один из ваших 96 ядер эффективно может обрабатывать 16 потоков (программный поток f.e. C ++ thread.h) в большинстве случаев в моем теоретическом мнении.

0
ответ дан 23 May 2018 в 17:46

Вы найдете, сколько потоков вы можете запустить на вашем компьютере, выполнив команду htop или ps, которая возвращает количество процессов на вашем компьютере.

Вы можете использовать man-страницу о команде «ps».

man ps

Если вы хотите рассчитать число всех пользователей, вы можете использовать одну из следующих команд:

ps -aux| wc -l ps -eLf | wc -l

Расчет количества Пользовательский процесс:

ps -aux| wc -l

Также вы можете использовать «htop» [Ссылка]:

Установка на Ubuntu или Debian:

sudo apt-get install htop

Установка на Redhat или CentOS:

yum install htop
dnf install htop      [On Fedora 22+ releases]

Если вы хотите скомпилировать htop из исходного кода, вы найдете [Reference] [ ! d10].

0
ответ дан 23 May 2018 в 17:46

Другие вопросы по тегам:

Похожие вопросы: