Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как задействовать все ядра на определенном процессе?  (Прочитано 4065 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн anton787333

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Здравствуйте!
Столкнулся с трудностью что при включение сервера работает только одно ядро из трех.
Хотелось бы все 3 ядра задействовать над процессом.
Заранее спасибо!

Оффлайн Ampermetr

  • Активист
  • *
  • Сообщений: 491
    • Просмотр профиля
Может я чего не понимаю, но разве серверы не предназначены для того, чтобы распределять нагрузку на потоки так, чтобы один процесс от одного подключения в принципе не мог использовать всю вычислительную мощность?
Женский форум,топик "Плакала всю ночь, подскажите из-за чего?"
Линукс форум, топик "Всю ночь собирал генту, подскажите зачем?"

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Распределением на ядра процессов, занимается ОС. А вот распределением на ядра внутри процесса - занимается сам процесс. И если он не рассчитан на многопоточную работу - то уже никак его на несколько процессоров не раскидать.

Если на сервере значительно загружен только один поток и он не умеет работать в многопоточном режиме - то и будет загружено только одно ядро.

Но пока - не совсем ясно что значит "работает только одно ядро из трех"? Означает ли эта фраза, что два других просто совсем никогда и никак не нагружены?
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн anton787333

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Другие 2 ядра загружаются, совершая другие процессы, но мне хотелось бы чтобы 3 ядра работали над одним процессом.
Как я понял это невозможно ?

shura1

  • Гость
GNU Parallel берут ввод с одного источника (SDTIN или файл/файлы) и распараллеливают обработку командными утилитами на все возможные ядра и нити (hyper-threading). И даже компьютеры. Но эта утилита для стандартных юникс-команд - типа sed, awk и т.п. Программа-сервер должна уметь делать это, как сказал Sly_tom_cat, самостоятельно (в качестве образцов - node.js, nginx).

Можно повысить приоритет процесса с помощью команды nice, но я не знаю насколько это эффективно для задействования всех ядер на один процесс.

(Я не специалист, просто вопрос тоже заинтересовал - иногда хочется, чтоб отдать процессу все ресурсы по максимуму - когда запустил задачу и ушел, занялся другими делами).
« Последнее редактирование: 07 Декабря 2015, 21:21:12 от shura1 »

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
А что это за процесс который вы хотите распараллелить на несколько ядер?
Просто видимо конкретно тот сервис что вы используете - не умеет разделяться на несколько потоков, но возможно есть аналоги написанные для многопроцессорных систем.

Повышение приоритета - в принципе не поможет в распараллеливании процессов.
« Последнее редактирование: 07 Декабря 2015, 21:30:17 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн anton787333

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
А что это за процесс который вы хотите распараллелить на несколько ядер?
Просто видимо конкретно тот сервис что вы используете - не умеет разделяться на несколько потоков, но возможно есть аналоги написанные для многопроцессорных систем.

Повышение приоритета - в принципе не поможет в распараллеливании процессов.


Сервер для игры Garry's mod.
Игра сделана на source движке.
Я не знаю умеет ли он разделяться на несколько потоков.

По состоянию на 16/06/2019 тема не получает никакого развития. Последняя активность ТС на форуме на данный момент времени: 08 Декабря 2015 (35 месяцев назад).
Проблема с высокой долей вероятности не может быть воспроизведена на современном железе и современном ПО другими пользователями. Поэтому, дабы никого не путать, тема признается модератором подлежащей закрытию и последующей архивации. Закрыто
--zg_nico
« Последнее редактирование: 16 Июня 2019, 17:01:24 от zg_nico »

 

Страница сгенерирована за 0.048 секунд. Запросов: 23.