Снижение загрузки ЦП в Linux (Ubuntu)

Снижение загрузки ЦП в Linux (Ubuntu)

Я использовал экземпляр AWS c5.4xlarge с 16 виртуальными ЦП и запускал программу Python с 10 процессами. Однако загрузка ЦП каждым процессом постепенно упала до 10%, как показано на рисунке, всего за 10 секунд. Общая загрузка ЦП 16 экземпляров виртуальных ЦП составляла всего около 6%.

Я уменьшил количество процессов, но загрузка ЦП каждым процессом все еще была довольно низкой. На моей macOS все нормально.

Снижение загрузки ЦП в Linux (Ubuntu)

Что в этом плохого?

что вы имеете в виду, что на вашем Mac все было нормально? Ядра ЦП были заняты больше? Был ли результат вычислений на AWS верным? Это произошло (намного) быстрее, чем на вашем Mac?

diginoise 16.10.2018 10:01

У c5.4xlarge, похоже, нет графического процессора. Вне моей компетенции, но, возможно, полезно: github.com/tensorflow/tensorflow/issues/255

Michael - sqlbot 16.10.2018 13:07

Да, я имею в виду, что если я запускаю эту программу с 3 дочерними процессами на моем Mac, каждый процесс будет использовать около 130% ЦП, и, таким образом, 4-ядерный ЦП моего Mac почти израсходован. Но когда я запускаю ту же программу с 3 дочерними процессами на экземпляре aws, каждый процесс занимает всего 30-40% использования ЦП, хотя всего 1600% виртуальных ЦП. Результат AWS действительно правильный. Я еще не сравнивал скорость, потому что на выполнение всей программы уходит много времени. @diginoise

antaressgzz 16.10.2018 15:02

На моем Mac также нет графического процессора, и я не собираюсь его использовать. Но это может вызвать проблемы ... Кстати, похоже, что прецессы обычно запускаются на одном процессоре. Каждый из 10 прецессов потреблял около 10% загрузки ЦП и 100% в сумме. А когда количество процессов было 3, каждый из них занимал порядка 30% - 40%. Странный..

antaressgzz 16.10.2018 15:07
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
4
451
1

Ответы 1

Хорошо, я нашел ответ. Речь идет о сродстве к процессору. Для новичка в Linux: https://en.wikipedia.org/wiki/Processor_affinity

В Linux вы можете выделить процессор для определенного процесса в терминологии Linux:

$ taskset -cp CPU_ID PID

Например:

$ taskset -cp 0-1 1000

выделит CPU 0 и 1 для обработки с ID 1000.

Вы можете найти PID, используя

$ top

в вашем терминале.

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