28

Почему мой ЦП никогда не достигает максимальной нагрузки, даже если мое приложение, которое потребляет 40% ЦП (но 30-40% ЦП все еще не работает), из-за задержки?

Означает ли это, что:

  1. Есть способ заставить процессор работать на 100%
  2. Процессоры изготавливаются таким образом, и единственное, что я могу сделать, это купить новое оборудование.
  3. Ограничение связано с приложением, и отставание не улучшится даже при улучшенном процессоре. (Если предположить, что приложение идеально, то я спрашиваю, работает ли программное обеспечение таким образом?)
  4. Что-то другое.

6 ответов6

93

Вы, вероятно, используете однопоточные приложения, которые могут максимально использовать только одно ядро процессора. Поскольку 100% одного ядра составляет менее 100% емкости многоядерного ЦП, общая загрузка ЦП не достигает 100%.

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

49

Вы не указали свою ОС. Так что ответ будет обычным как.

Приложения могут быть ограничены по разным причинам. Узкое место может быть в:

  • ЦПУ
    • низкая скорость
    • однопоточные приложения (не могут использовать все ядра / потоки)
  • I / O
    • пропускная способность диска
    • задержка диска
    • пропускная способность сети
    • задержка сети
  • объем памяти
    • вместимость
    • throuthput
    • задержка
    • недостаточно кеша
    • местность (NUMA)
    • обменивать

И есть еще причины, которые не так часто встречаются.

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

11

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

Я не говорю о тонком, почти незаметном количестве пыли, а скорее о больших сгустках или даже циновках, которые мешают нормальному потоку воздуха. Я видел радиаторы, в которых был фильтр, который был пылью, а не реальный фильтр. Это блокирует очень значительное количество воздуха от охлаждения процессора. Такое удаление пыли, как правило, приводит к немедленному успокоению вентиляторов и позволяет вашим компонентам выживать дольше. Жара убила много компьютеров, которые меня попросили починить.

Придерживаясь идеи теплового вопроса, вы также можете попробовать более качественную термопасту. Большинство белых процессоров cr @ p похоже на термопасту Yugo. Я использую Arctic Silver, но есть вещи лучше, чем это, даже. Арктическое Серебро - о Порше (используя автомобильную шкалу оценки), но есть варианты Феррари и суперкара там.

Процессоры имеют тенденцию замедляться при перегреве. Это физическая вещь, а также "самосохранение", запрограммированное во многих процессорах. Я не знаю, будет ли он все равно показывать 100% в диспетчере задач или он покажет 40% (как вы видите), но это может привести к значительному замедлению, пока ЦП пытается дать радиатор и вентилятор " наверстать."

Еще одна вещь, которая может замедлить ваш процессор - это графический процессор. Если вы используете игры или утилиты с большим количеством графики (например, CAD), ваш графический процессор может сдерживать ваш процессор. Возможно, стоит взглянуть на лучшую видеокарту. Кроме того, использование неправильной правильной карты может сдерживать вас. Игровые карты (обычно) не предназначены для работы как с САПР, так и с картами рабочих станций, и карты рабочих станций (как правило) тоже не очень хорошо играют. Некоторые делают, но большинство нет.

Как отметил @Jaroslav Kucera, это может быть связано с диском. Удар HD(s) много может замедлить вас вниз. Я обычно запускаю несколько дисков. Один предназначен для операционной системы, а другой - для программного обеспечения, файла подкачки Windows, личных файлов и т.д. Помимо того, что не нужно сильно беспокоиться о резервном копировании личных данных в случае сбоя ОС, наличие нескольких жестких дисков значительно расширяет рабочую нагрузку. Чтение и запись на один и тот же диск одновременно могут серьезно замедлить работу HD. Использование СХД может смягчить это, но не полностью. Фотошоп и программное обеспечение для редактирования видео, как известно, сильно бьют по HD. Чтение с одного HD с последующим выводом на 2 HD - это то, что нужно. Это также помогает жизни ваших HD. Я также хожу с активным охлаждением на моих HD. Я не убивал жесткий диск с тех пор, как поставил на него вентилятор и радиатор +15 лет назад. Google их, они дешевая страховка.

Хотите верьте, хотите нет, но ваш блок питания тоже может вас тормозить. Если у вас недостаточно мощности (или ваш блок питания старый или дешевый, с переоценкой, китайский POS), у вас могут возникнуть проблемы с производительностью. Я видел из первых рук, что может сделать странная ОС, и что может сделать нестабильный блок питания. Вы ищете как напряжение, так и усилители, поэтому убедитесь, что все они соответствуют характеристикам блока питания, если вы идете по этому пути, а также убедитесь, что они соответствуют или превышают ваши потребности в электроэнергии. Если ваши компоненты имеют мощность 500 Вт, а вы даете им даже 475, это плохо. Я рекомендую удовлетворять ваши требования примерно на 20%, так как, когда ваш блок питания стареет (и падает мощность), а остальные компоненты стареют (и требуют небольшую мощность), вы не застряли, покупая новый блок питания так быстро.

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

И, AFAIK, нет никакого способа заставить ваш компьютер использовать 100% процессора. Процессор и ОС знают, что им нужно делать, и обычно хорошо справляются со своей работой. :-) Я не думаю, что кто-то еще нашел способ заставить процессор загружать его на 100%, когда вы считаете, что это нужно. По крайней мере, без добавления дополнительного мусора, чтобы процент «хорошо выглядел».

Когда вы видите 40%, а не целое число деление 100% (например, 25%, 33% или 50%), я чувствую, что это не единственная проблема с многопоточностью. Может быть, но это не то, куда уходит мой разум. +1 к @Twisty Impersonator за то, что поднял его прямо сейчас.

Удачи в попытках понять это! Я потратил несколько дней, пытаясь разобраться в подобных вещах, но в итоге заменил большую часть мужества как «последнее средство».

2

Это могут быть настройки энергосбережения в BIOS или операционной системе. Многие современные процессоры и материнские платы имеют настройки, позволяющие экономить энергию процессора при использовании электроэнергии (особенно это касается ноутбуков, которые хотят работать от батареи). Вероятно, вы можете отключить такую настройку, но убедитесь, что вы знаете, что делаете, поскольку рядом с настройкой обычно есть другие вещи, которые могут влиять на функциональность компьютера другими важными способами.

1

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

Обычная вещь, которую упускают из виду, это физические ядра, а не «многопоточные». Гиперпоточность превосходит многие короткие задачи с узкими местами, кроме процессора. Для узко замкнутых задач с узкими местами в ЦП вы все равно ограничены количеством физических ядер, которое, как правило, вдвое меньше количества ядер с гиперпоточностью. В самом худшем случае ваш менеджер задач может показывать только 50% использования, потому что он считает гиперпоточные ядра на своих графиках, тогда как на самом деле ваши физические ядра могут использоваться на 100%. В общем, вы бы показали больше, чем это, поскольку ваша операционная система сможет использовать гиперпоточность для других не связанных задач.

1

Я регулярно использую 100% ресурсов при выполнении задач рендеринга и математики. Я проверю, что гиперпоточность достигнет высокого уровня в 100%, и порядок команд является большой проблемой. Intel и AMD имеют большое количество оборудования, предназначенного для переупорядочения команд, чтобы заполнить как можно больше ядер выполнения. Если вы получаете 30% на современной машине, вы можете

  • Проверьте Temps - Intel и AMD оба разогнались, когда они нагреваются, и это показывает как заикания и всплески.
  • Не делать много с этим .... примеры:
    1. Просмотр веб-страниц
    2. Эл. адрес
    3. Самые простые игры
    4. Я почти гарантирую, что ваша проблема - одно или все из следующего, начиная с верхней части:
  • Получить SSD
  • Получить SSD
  • Загрузите свою ОС на твердотельный накопитель и перенесите обычные данные на традиционный мультибайтный диск. Windows требует больше доступа к своим локальным файлам, чем что-либо еще.
  • Боназай Бадди?
  • Держите все диски на емкости не менее 10%. NTFS - это файловая система с журналированием, и производительность снижается с ростом производительности диска.
  • Вам нужен диск / SSD NVMe для вашего диска ОС как можно скорее (да, я сказал это снова). Производительность потрясающая, и она продолжается до второй части этого ... Крупный ритейлер продавал диски Samsung 961 NMVe 512 Гб за 300 долларов, что вполне достаточно для обычного использования.
  • Windows 10 сильно загружена на GPU. Дешевая выделенная видеокарта может снять нагрузку как с памяти, так и с процессора. Вы по-прежнему можете использовать APU в сочетании с видеокартой, но сэкономите немного оперативной памяти, а VRAM обычно намного быстрее.
  • Процессоры с меньшим количеством ядер также связаны с памятью. Если вы посмотрите на i7s, все они используют четырехканальный DDR в 4 банках. Чипы AMD Epyc будут 8-канальными DDR5 с 64 ядрами. Не помогает Наконец, и я не могу подчеркнуть это достаточно, выложите деньги на столько оперативной памяти, сколько займет ваша машина. У меня есть 32 ГБ, и я покупаю еще 32 в этом году. Windows делает нечто похожее на superfetch, который немного новее, сжимает память в ОЗУ, которая не используется, поэтому программы и данные могут быть просто разархивированы при необходимости. В качестве другого примера я использую виртуальную машину Linux для разработки, выделил 6/12 ядер и 16 ГБ оперативной памяти, и после первой загрузки с SSD она запускается через ~ 3 секунды. Процессоры в наши дни считаются очень дешевыми из-за таких оптимизаций ... распаковка Photoshop из памяти происходит быстрее, чем загрузка с диска, за исключением случая очень быстрого SSD.

Все эти вещи кажутся излишними, пока я не застрял при компиляции файлового проекта 70 Кб или не увеличил масштаб гигантских необработанных файлов камеры до 17 "x26" x600 dpi с 16-битным цветом. Даже при 100% использовании ресурсы настолько излишни, что вы не получите замедления. Однажды ночью я понял, что у меня есть две виртуальные машины и Wolf 2, загруженные вместе с двумя IDE (я отвлекся, подаю в суд на меня), и не заметил замедления. Это машина стоимостью ~ 1500 долларов, ничего особенного, и самая медленная, купленная за эти годы. Половина из них - одна из Radeon RX64, потому что моей видеокарте было 6 лет. Огромная разница в рендере и тому подобное. Обновление, скорее всего, позволит вам более эффективно использовать оборудование, чем предполагать, что 30% использования - это все, что вы получите.

Если бы я бросил жесткий диск 5400 об / мин в эту машину для ОС, он бы работал как полная чушь.

TL; DR звучит так, как будто вы сейчас связаны с процессором. Потратьте пару сотен как минимум на 256 ГБ SSD для ОС, 8 ГБ оперативной памяти и более низкую плату для геймеров, и компьютер прослужит долгие годы. Этот оставался в живых в течение 6 лет, прежде чем я наконец выполнил обновление процессора и Mobo, и я собирал весь пакет кросс-компиляторов примерно 25 раз в день на старом оборудовании.

Назовите меня излишним, но я не рекомендую 8 карт Теслы или что-то еще. :-) Делайте небольшие обновления, когда можете, и я думаю, что вы решите многие из этих проблем. Я сделал это несколько лет назад, добавив SSD к системе Q6600 и наблюдая за производительностью в три раза.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .