Процесс, требующий ресурсов, разделен на несколько процессов?

1

Он замечен в движке Google Cloud. Несколько экземпляров моего скрипта создаются (по bash?). Причина может заключаться в том, что сценарий требует очень большого объема памяти. Как это разделение сделано точно? Любое влияние на производительность?

Изображение 174551

[UPDATE] Моя ошибка. Эти экземпляры представляют собой потоки, созданные python.

  • 0
    Похоже на python , а не на bash ...
  • 1
    Пожалуйста, посмотрите как создать минимальный, полный и проверяемый пример .
Показать ещё 2 комментария
Теги:
google-compute-engine
process

1 ответ

1
Лучший ответ

Не переоценивайте навыки Python. Python не способен выполнять даже многопоточную модель процесса, автоматически разделяя задачи на параллельные исполняемые подзадачи.

Этот процесс делится на подпроцессы, потому что он был написан таким образом.

Функция, которую вы оцениваете, автоматически распараллеливает процессы, практически неразрешима в общем случае, хотя она по-прежнему является горячей темой в области компьютерных наук.

  • 0
    Родителем всех процессов Python является bash, в соответствии с идентификатором родителя. Так что я подозреваю, что не все скрипты python создают все процессы, а как-то bash ...
  • 0
    @ user7586189 Сделать это практически невозможно с помощью Linux API, потому что процессы могут разворачивать только своих собственных потомков. Единственный способ будет, если bash каким-то образом «попросит» python форкнуть дочерние процессы с помощью API трассировки / отладки, в bash для этого даже нет ничего подобного. Кроме того, bash ничего не знает от внутренних частей питона, распараллеливание этого было бы глубокой и почти невозможной задачей, требующей очень глубокой реструктуризации его внутренних частей. Поверьте, такого нет, питон создает дочерние процессы, потому что это однопоточный язык.
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню