Как я могу произвести высокую загрузку процессора в Windows?

76

В целях тестирования мне нужно создать высокую загрузку ЦП на Windows Server 2003. Я не могу установить какое-либо программное обеспечение, но вынужден делать то, что предоставляет Windows.

Каков наилучший способ добиться этого?

Morgon
источник
4
Я обычно просто запускаю кучу экземпляров cmd.exe dir /s C:. Получите 10 или более из тех, кто работает одновременно, и вы получите очень высокую загрузку процессора (70% + во всех ядрах моего i7-2600k) в дополнение к большому количеству дискового ввода-вывода. Не идеально, но это делает работу.
Эндрю Ламберт

Ответы:

67

consume.exeиз Windows Server 2003 Resource Toolkit может сделать это легко.

C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\x64>consume -cpu-time -time 5
Consume: Message: Time out after 5 seconds.
Consume: Message: Successfully assigned process to a job object.
Consume: Message: Attempting to start 256 threads ...
................................................................................
................................................................................
................................................................................
................
Consume: Message: Sleeping...

Использует 100% процессорного времени на всех ядрах, пока он работает. Он также может потреблять другие ресурсы (как следует из названия).

Der Hochstapler
источник
20
Resource Toolkit не устанавливается по умолчанию.
HaydnWVN
А как насчет сервера 2008?
Джонатан Риу
@JonathanRioux: то же решение, загрузите набор ресурсов, указанный в ответе, и используйте его consume.exe. Приложение не включено ни в одну версию Windows Server по умолчанию.
Der Hochstapler
consume.exeМожет также использоваться , чтобы потреблять все дисковое пространство , используя consume -disk-space -time 60. Это очень удобный инструмент! При установке его как части Resource Toolkit он будет установлен C:\Program Files (x86)\Windows Resource Kits\Toolsпо умолчанию.
Бенни Neugebauer
Хороший инструмент, но имейте в виду, что он всегда запускает свои потоки с нормальным приоритетом, даже если сам EXE запускается на уровне «ниже нормального».
EM0
39

Следующий пакетный файл делает это:

@echo off
:loop
goto loop

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

Чтобы остановить, нажмите Ctrl+ Cв консоли.

квант
источник
Это было прекрасно. Всего одно исполнение на ядро. Лучшие решения остаются простыми. Спасибо. НО, я не могу понять, как проверить n ядер, которые не наблюдают за экземпляром 1-го цикла%, потому что у меня в Windows7 есть счетчик физических и ядер, но не счетчик потоков. ( wmic cpu get NumberOfCoresбыло бы 2, и у меня есть 4 темы, 2 ядра). Я предполагаю создать автоматическую партию, которая полностью соответствует 100% мощности процессора. С уважением.
erm3nda
34

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

Что касается того, что вы хотите, чтобы это было нативным программным обеспечением - Windows на самом деле не поставляется с инструментами для этого, за исключением, возможно, вышеупомянутого командного файла, который будет бесполезным, если он станет бесполезным. , (Бесконечные циклы могут быть грязными.)

xenithorb
источник
1
As for your want for it to be a native piece of software - windows doesn't really come with the tools to do such a thingНо это требование вопроса. Инструменты, которые вы предложили, не подходят для этого и должны быть комментариями, а не ответом. except for maybe the above batch file, which is going to be a mess to handle if it goes haywire. (Infinite loops can be messyЕдва. В Windows есть несколько опций программирования, которые можно легко использовать, чтобы потреблять циклы процессора, но при этом обеспечивать контроль.
Synetech
29

Плотный цикл в VBS без ввода / вывода сделает это. Вам потребуется столько процессов, сколько ядер. Следующее будет использовать 100% на моей виртуальной машине Win2k3 или 50% на моем двухъядерном хосте (100%, если я запускаю 2)

c:\test\>copy con thing.vbs
While True
Wend
^z
c:\test\>thing.vbs

Вам придется убить wscript.exe в диспетчере задач, чтобы завершить его.

mgjk
источник
Я действительно не понимаю код, который вы положили. Вы проверяли это перед тестированием? Как мне нужно это проверить. Вы положили не так много информации. Мне это нравится, но немного поясню. Нет приза за лень.
erm3nda
Это результат создания сценария и его запуска.
mgjk
А где сценарий?
erm3nda
Это строки 2 и 3.
mgjk
Извините, это VBS не летучая мышь. Мой провал. Этот wscript занимает ровно 1 поток. Вам нужно будет запустить несколько экземпляров, таких как скрипт bat: goto. Это аналог VBS. Приятно. Благодарю.
erm3nda
9

CPUSTRES.EXE

Существует старый инструмент SysInternals от 1996 года, который называется «CPU Stress», который все еще работает. (Я только что попробовал это на моем ноутбуке с Windows 10.)

Пользовательская загрузка процессора

Он основан на графическом интерфейсе и позволяет запускать до четырех потоков с индивидуальной интенсивностью. Это позволяет настроить желаемую загрузку процессора. Как правило: один поток с Activityустановленным значением Maximumпотребляет около 25% процессорного времени. В качестве примера: если вы запускаете три потока на максимуме, загрузка вашего процессора достигает примерно 75%.

портативный

CPUSTRES.EXEявляется переносимой загрузкой и не требует установки.

StackzOfZtuff
источник
CPUSTRES.EXE также рекомендуется Microsoft: blogs.msdn.microsoft.com/vijaysk/2012/10/26/… - Очень хороший инструмент!
Бенни Neugebauer
Это хороший инструмент, но, к сожалению, он позволяет запускать только 4 потока, что недостаточно для максимальной загрузки современного процессора (четырехъядерный с гиперпоточностью).
EM0,
5

HyperPi (графический интерфейс для запуска SuperPi на нескольких ядрах) можно запустить без установки, просто скопируйте его на сервер и запустите из любого места. Даже на чем-то быстроме вы можете за несколько часов загрузить все ядра, выполняя, например, 16 одновременных вычислений по 32M.

JTotham
источник
1
HyperPi (GUI to run SuperPi on multiple cores) can be run without installing just copy it to the server and run it from any location.Это техничность и придирка. Когда кто-то говорит «не может ничего установить», это не обязательно означает фактическую установку , он может не иметь возможности запускать что-то новое. Например, может существовать системная политика, которая блокирует все программы, кроме тех, которые находятся в белом списке. Это может помешать запуску даже «портативных» приложений, так что если вам не нужно устанавливать его, это не сработает.
Synetech
4

Запуск for /l %a in (0,0,1) do echo aв командной строке (печать с бесконечным циклом a) имеет наблюдаемый эффект conhost.exeзапуска при 10–20% загрузки процессора в Windows 7 на недорогом мобильном устройстве i5. Вы можете попробовать запустить несколько из них параллельно, например, следующее в командном файле:

start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a

Это может заставить ваш процессор работать на 100%. Линии могут быть добавлены / удалены для корректировки.
Предупреждение: это бесконечные циклы, которые могут возникнуть проблемы при закрытии. Числа в скобках можно заменить, например (0,1,10000), для конечного цикла. Последнее число (в конечном цикле) может быть отрегулировано для настройки времени работы. Если вам интересно, это в основном означает «начать с 0, увеличивать на 1, пока не достигнет 10000», что означает 10000 циклов цикла.

боб
источник
Вы проверяли это? Это связано с IO, поэтому я думаю, что он, вероятно, не достигнет 100% загрузки ЦП, независимо от того, сколько экземпляров вы запускаете.
Бен Ричардс
1
Это вполне может зависеть от системы. Для меня это было постоянно выше 97% общего, хотя с dwm.exe25%, и все conhosts колеблются около 5-10%. В любом случае, решение MGJK VBScript более элегантно.
Боб
Консоль Windows исключительно медленная, когда дело доходит до ее заполнения. Это также вызывает значительную задержку графического интерфейса, которая может не позволить вам убить его с помощью диспетчера задач. Обратите внимание, что Ctrl-C или Ctrl-Break не будут работать из-за данных, которые уже отсутствуют.
квант
4

Я недавно обнаружил и могу порекомендовать бесплатную версию HeavyLoad:

http://www.jam-software.com/heavyload/

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

AndyUK
источник
Как они сказали:can’t install/run any third-party software; only built into Windows
Synetech
Мне показалось, что программа Prograt очень интересна. Это просто работает, и вы также можете получить 100% ЦП, используя только 256 МБ ОЗУ (я рекомендую использовать i5 4 ГБ ОЗУ). Единственный вариант, по которому я скучаю, - это стресс, который обещает программное обеспечение. @AndyUK, ты нашел этот вариант?
erm3nda
1

Большинство людей делают это , выполняя что-то, что выполняет нагрузку - я рекомендовал superpi , хотя hyperpi может работать лучше для современной системы. Рассчитайте абсурдно большое значение числа пи, и он будет эффективно запускать процессор при полной загрузке.

В качестве альтернативы вы можете запустить StressCPU, который основан на раскладывании @ home.

Если вам нужно держать высокие нагрузки в течение более длительных периодов времени, подумайте о чем-то вроде fold @ home

Подмастерье Компьютерщик
источник
1

Если у вас нет интернета для этого компьютера или вы не можете вспомнить веб-сайт для этого теста процессора, и вам не хочется писать сценарии, вы можете использовать встроенную в Windows функцию zip для сжатия нескольких файлов или папок одновременно несколько раз. ,

Щелкните правой кнопкой мыши файл или папку, выберите пункт «Отправить», а затем выберите «Сжатая (сжатая) папка».

Вы можете делать одни и те же файлы / папки несколько раз в одно и то же время, я предлагаю использовать папки Windows или программные файлы.

Затем вы можете разархивировать файлы в другое место и выполнить сравнение файлов с помощью команды fc, чтобы убедиться, что все вычисления выполнены правильно. Хотя я бы посоветовал вам использовать один большой файл для этого, так как синтаксис команды для сравнения большого количества файлов со стандартными инструментами Windows раздражает.

BeowulfNode42
источник
Впечатлен этим. Цикл: goto на летучей мыши звучит намного проще. И избегайте бессмысленного использования ввода / вывода.
erm3nda
1

Быстрый, легкий, PowerShell

while ($true){}

Бесконечный цикл без входов или выходов; аналогично ответу Quantum, если у вас несколько ядер, вам нужно запустить несколько экземпляров PowerShell, выполняющих этот скрипт

ShaneC
источник
0

Используйте встроенный «calc» для расчета 10000! (10000 факториал). Используйте два или три экземпляра, чтобы максимально использовать многоядерный.

awayand
источник
На самом деле, он будет переполнен calc .... есть максимальное значение, которое рассчитал бы calc, оно меньше 10000, но больше 1000.
Diogo
@DiogoRocha Не переполнен: я получил 2.8462596809170545189064132121199e + 35659. Тем не менее, сделал это менее чем за секунду на моем компьютере.
квантовый
хммм. Мой переполнен, фактически факториал в цифровом калькуляторе математически сводится к усеченной серии ... это примерное сокращение, которое уменьшит загрузку процессора. это причина, по которой вы оставили менее 1 секунды обработки ..
Диого,
Я подозреваю, переполнение или нет, может зависеть от того, является ли процессор 32-разрядным или 64-разрядным. В любом случае, я не вижу, как это займет много циклов ЦП. Я только что выполнил несколько факториалов, и самое большое, что я смог сделать, это 3248 !, но ни один из них даже не показал даже график ЦП диспетчера задач, и почему это должно быть? Факториалы - это очень простая, очень дешевая математическая операция.
Synetech
@Synetech Mine переполнился, используя Windows 7 64 бит. Я использовал калькулятор biginteger и получил ответ в качестве ответа: pastebin.com/AeCf1s9c
starbeamrainbowlabs
0

Я публикую такой инструмент под названием MultiCpuLoad .

  • Выбираемая нагрузка от 20% до 90%.
  • Выбираемые процессоры.
  • Нет установки.
  • Права администратора не требуются.

Требуется .NET Framework 2.0, 3.5 или 4.5.

http://www.ristaino.net/Software/MultiCpuLoad

figolu
источник