Docker-контейнер, использующий только одно ядро ​​ЦПPython

Программы на Python
Ответить
Anonymous
 Docker-контейнер, использующий только одно ядро ​​ЦП

Сообщение Anonymous »

У меня есть Docker-контейнер, созданный на основе базового образа ubuntu:latest, который содержит несколько скриптов Python. Один из них выполняет распознавание текста, и я заметил, что скрипт работает примерно в 2-3 раза медленнее, когда я запускаю его из докера, по сравнению с запуском его локально. Глядя на использование ресурсов во время выполнения сценария, похоже, что он может обнаружить 12 ядер, доступных для использования, но контейнер использует только один контейнер на 100%, а остальные остаются бездействующими. При локальном запуске кажется, что все ядра работают.
Я также пытался запустить его с помощью concurrent.futures.ThreadPoolExecutor, но контейнер всегда будет ограничен на 100 % и не будет использовать более 1 ядра ЦП.
Я нашел много информации о том, как ограничивать ресурсы, но нет ничего, что могло бы заставить их использовать. Я также попробовал изображение на основе изображения python:3.10, но та же медлительность и проблемы остались. Этот образ создан на основе Debian Bullseye.
По рекомендации запустил lscpu внутри контейнера и получил следующее:

Код: Выделить всё

root@22b8b40396d5:/code# lscpu
Architecture:            x86_64
CPU op-mode(s):        32-bit, 64-bit
Address sizes:         39 bits physical, 48 bits virtual
Byte Order:            Little Endian
CPU(s):                  12
On-line CPU(s) list:   0-11
Vendor ID:               GenuineIntel
Model name:            Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
CPU family:          6
Model:               158
Thread(s) per core:  2
Core(s) per socket:  6
Socket(s):           1
Stepping:            10
BogoMIPS:            7391.99
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb r
dtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid pni pclmulqdq vmx ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 mo
vbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow
vnmi ept vpid ept_ad fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 x
saves flush_l1d arch_capabilities
Изображение


Подробнее здесь: https://stackoverflow.com/questions/764 ... e-cpu-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»