100% использования на нескольких ядрах, а несколько ячеек - на 100% бездействуют [закрыты]

Получение ниже загрузки процессора. Что может быть причиной того, что несколько ядер используются на 100%, а несколько ядер - на 100% бездействия:

Cpu0 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 99.7%us, 0.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu4 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu5 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu6 : 99.7%us, 0.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu7 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu8 : 99.7%us, 0.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu9 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
-1
задан 27 March 2018 в 14:42

4 ответа

Неясно, хотите ли вы знать, почему все ядра не используются, или почему у вас есть на 100%.

Приложение определяет, сколько ядер или потоков оно будет использовать. Большинство приложений однопоточные и будут использовать только одно ядро. Это значит, что все операции выполняются так, как ожидалось. Например, если a + b = c и c + d = e переданы на 2 разных ядра, как вы узнаете, что c является при обработке c + d = e, если a + b = c не завершено?

Вы можете использовать команду top для просмотра, какие приложения используют эти ядра.

1
ответ дан 17 July 2018 в 18:00

Как я читаю ваш включенный отчет, вы получаете 100% -ное использование на всех ядрах - только некоторые из них работают на «пользовательских» задачах, другие - на «системные» задачи или что-то еще (независимо от «id») , Это нормально, из-за однопоточности большинства задач (как отмечено в другом ответе). Компьютер выполняет некоторую работу на переднем плане, что вы явно инициировали, а некоторые в фоновом режиме (задачи ОС, как правило, хотя это могут быть и такие вещи, как задачи BOINC или другие распределенные вычислительные системы).

1
ответ дан 17 July 2018 в 18:00

Неясно, хотите ли вы знать, почему все ядра не используются, или почему у вас есть на 100%.

Приложение определяет, сколько ядер или потоков оно будет использовать. Большинство приложений однопоточные и будут использовать только одно ядро. Это значит, что все операции выполняются так, как ожидалось. Например, если a + b = c и c + d = e переданы на 2 разных ядра, как вы узнаете, что c является при обработке c + d = e, если a + b = c не завершено?

Вы можете использовать команду top для просмотра, какие приложения используют эти ядра.

1
ответ дан 23 July 2018 в 18:51

Как я читаю ваш включенный отчет, вы получаете 100% -ное использование на всех ядрах - только некоторые из них работают на «пользовательских» задачах, другие - на «системные» задачи или что-то еще (независимо от «id») , Это нормально, из-за однопоточности большинства задач (как отмечено в другом ответе). Компьютер выполняет некоторую работу на переднем плане, что вы явно инициировали, а некоторые в фоновом режиме (задачи ОС, как правило, хотя это могут быть и такие вещи, как задачи BOINC или другие распределенные вычислительные системы).

1
ответ дан 23 July 2018 в 18:51
  • 1
    Не означает ли id для простоя ? В этом случае ваше объяснение не работает полностью. Тем не менее, я согласен с тем, что самое главное - однопоточный характер выполняемых задач. – Melebius 27 March 2018 в 18:49

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

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