При выполнении тяжелой задачи кажется, что загрузка процессора не распределяется по всем доступным ядрам, и вентилятор срабатывает, пока я жду, когда выполнится операция ... Глядя на монитор процессора, один процессор - 100%, когда остальные простаивают .
У меня есть i7 с 8 ядрами с Ubuntu 13.10, и мне не терпится ждать, когда я узнаю, что в 8 раз больше доступной мощности.
Я могу воспроизвести это, открыв один большой (70M) файл с помощью gedit, но это происходит в разных обстоятельствах.
Что я могу с этим поделать?
ура!
В i7 на самом деле есть 4 ядра, но каждое ядро имеет две гиперпотоки (что означает, что он может действительно быстро переключаться между двумя задачами). Для ОС это выглядит как 8 ядер, поэтому различие здесь, скорее всего, не актуально. Сожалею. : -)
ОК, поэтому операционная система может использовать i7 для эффективного выполнения 8 операций одновременно. Но это предполагает, что у него есть 8 вещей одновременно. Если у него есть только одна вещь, то он будет использовать только 1 ядро.
Вот тут поточность вступает в игру. Программы могут быть написаны для использования потоков - GIMP и ImageMagick - две программы, которые я знаю, которые делают это. Когда им предстоит выполнить сложную задачу, они разбиваются на части и работают в разных потоках, которые ОС назначает разным ядрам. Попробуйте настроить ImageMagick для обработки действительно большого JPEG-файла, и вы увидите, что все 8 ядер заняты.
Теперь я не уверен, является ли gedit многопоточным или нет - но даже если это так, основная работа при открытии файла 70M - обработка прерываний диска при загрузке файла, и я думаю, что работа ограничивается одним ядро.
Что вы можете с этим поделать? Просто будьте заняты, многозадачность, пусть ваш компьютер делает много вещей одновременно, тогда нагрузка будет распределена по ядрам.