Як я можу створити високе завантаження процесора в Windows?


76

Для тестування мені потрібно генерувати велике завантаження процесора на Windows Server 2003. Я не можу встановити жодне програмне забезпечення, але я повинен робити те, що надає Windows.

Який найкращий спосіб досягти цього?


4
Зазвичай я просто запускаю купу екземплярів cmd.exe dir /s C:. Отримайте 10 або більше тих, хто працює одразу, і ви отримаєте дуже високе використання процесора (70% + у всіх ядрах мого i7-2600k) на додаток до багатьох дискових вводу-виводу. Не ідеально, але це робить роботу.
Ендрю Ламберт

Відповіді:


67

consume.exeз інструментарію ресурсів Windows Server 2003 це зробити легко.

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% час процесора на всіх ядрах, поки він працює. Він також може споживати інші ресурси (як випливає з назви).


20
Інструментарій ресурсів не встановлений за замовчуванням.
HaydnWVN

Що з сервером 2008 року?
Джонатан Рю

@JonathanRioux: те саме рішення, завантажте інструментарій ресурсів, пов'язаний у відповіді та використовуйте consume.exe. Програма за замовчуванням не включена до жодної версії Windows Server.
Der Hochstapler

consume.exeМоже також використовуватися , щоб споживати все дисковий простір , використовуючи consume -disk-space -time 60. Це дуже зручний інструмент! Якщо встановити його як частину Інструментарію ресурсів, він буде встановлений C:\Program Files (x86)\Windows Resource Kits\Toolsза замовчуванням.
Бенні Нойгебауер

Хороший інструмент, але пам’ятайте, що він завжди запускає свої потоки з нормальним пріоритетом, навіть якщо сам 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 насправді не постачає інструменти для подібних дій, за винятком, можливо, вищевказаного пакетного файлу, який буде безладно вирішувати, якщо він перейде в сірий . (Нескінченні петлі можуть бути безладним.)


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% на моєму VM Win2k3, або 50% на двоядерному хості (100%, якщо я запускаю 2)

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

Вам доведеться вбити wscript.exe в диспетчері завдань, щоб закінчити його.


Я дійсно не розумію коду, який ви ввели. Ви перевіряли це перед тим, як перевірити його? Як мені потрібно це протестувати. Ви розміщуєте не так багато інформації. Мені це подобається, але поясніть трохи. Жодної премії за лінь.
erm3nda

Це результат створення сценарію та його запуску.
mgjk

А де сценарій?
erm3nda

Це рядки 2 та 3.
mgjk

Мені шкода, це vbs не bat. Моя невдача. Цей wscript займає рівно 1 нитку. Вам потрібно буде запустити кілька примірників, як сценарій bat: goto. Це аналог vbs. Приємно. Дякую.
erm3nda

9

CPUSTRES.EXE

Існує старий інструмент SysInternals з 1996 року, який називається "CPU Stress", який все ще працює. (Я щойно спробував це на своєму ноутбуці Windows 10.)

Спеціальне завантаження процесора

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

Портативний

CPUSTRES.EXE- це портативне завантаження і не потребує встановлення.


CPUSTRES.EXE також рекомендується Microsoft: blogs.msdn.microsoft.com/vijaysk/2012/10/26/… - Дуже хороший інструмент!
Бенні Нойгебауер

Це приємний інструмент, але, на жаль, дозволяє лише запустити 4 потоки, що недостатньо для того, щоб максимізувати сучасний процесор (чотирьохядерний з гіпер-різьбленням).
EM0

5

HyperPi (GUI для запуску SuperPi на декількох ядрах) можна запустити, не встановлюючи просто скопіювати його на сервер та запустити його з будь-якого місця. Навіть на чомусь швидкому ви можете завантажувати всі сердечники протягом декількох годин, роблячи скажімо 16 одночасних обчислень на 32М місця.


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

Це може мати ваш CPU на 100%. Рядки можна додавати / видаляти для налаштування.
Попередження: це нескінченні петлі, які можуть у вас виникнути проблеми із закриттям. Числа в круглих дужках можна замінити, наприклад (0,1,10000), для кінцевого циклу. Останнє число (у кінцевому циклі) можна регулювати, щоб регулювати час роботи. Якщо вам цікаво, це в основному означає "почати з числа 0, збільшуючи на 1, поки не досягне 10000", що означає 10000 циклів циклу.


Ви перевірили це? Це пов'язано з IO, тому я думаю, що він, ймовірно, не досягне 100% використання процесора, незалежно від кількості запущених екземплярів.
Бен Річардс

1
Це цілком може залежати від системи. Для мене він постійно перевищував 97%, хоча на dwm.exeрівні 25%, а всі конуси коливаються приблизно на 5-10%. У будь-якому випадку рішення vbscript mgjk є більш елегантним.
Боб

Консоль Windows надзвичайно повільна, якщо мова йде про затоплення консолі. Це також спричиняє значне відставання графічного інтерфейсу, що може не дати вам вбити його за допомогою диспетчера завдань. Зауважте, що Ctrl-C або Ctrl-Break не працюватимуть через вже втрачені дані.
квантовий

4

Нещодавно я виявив і можу порекомендувати безкоштовну версію HeavyLoad:

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

Ефективна робота з підкачування рівнів процесора, щоб побачити, як програми справляються під примусом.


Як вони сказали:can’t install/run any third-party software; only built into Windows
Synetech

Мені здалося, що програма програми дуже цікава. Це просто працює, і ви також можете отримати 100% процесора, використовуючи лише 256 Мб оперативної пам’яті (я роблю на i5 4 ГБ оперативної пам'яті для вашої довідки). Єдиний варіант, який я сумую - це стрес на графічному процесорі, який обіцяє програмне забезпечення. @AndyUK, ти знайшов такий варіант?
erm3nda

1

Те, як це роблять більшість людей, - це запустити щось, що робить навантаження обробкою - мені рекомендували суперпі , хоча гіперпі може бути краще для сучасної системи. Обчисліть абсурдно велике значення pi, і це ефективно запустить процесор при повному навантаженні.

Крім того, ви можете запустити StressCPU, який базується на складанні @ home

Якщо вам потрібно тримати великі навантаження довше, подумайте про щось, як складання @ home



1

Якщо у вас немає інтернету для цього ПК або ви не можете згадати веб-сайт для цього тесту на процесор, і ви не відчуваєте, що сценарії, ви можете використовувати вбудовану в zip функцію Windows, щоб стискати купу файлів або папок купу разів одночасно. .

Клацніть правою кнопкою миші файл або папку, вкажіть пункт Надіслати до, а потім натисніть кнопку Стиснутий (в блискавці) папку

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

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


Вражений цим. Готовий цикл на кажані звучить набагато простіше. І уникайте нісенітницького використання вводу-виводу.
erm3nda

1

Швидкий, простий, PowerShell

while ($true){}

Нескінченний цикл без входів і виходів; подібний до відповіді Quantum, якщо у вас є кілька ядер, вам потрібно запустити кілька екземплярів PowerShell, що працює з цим сценарієм


0

Використовуйте вбудований "calc" для обчислення 10000! (10000 фактичних). Використовуйте два або три екземпляри, щоб максимум багатоядерних.


Насправді це переповнить calc .... існує максимальне значення, яке обчислить calc, воно менше 10000, але більше 1000.
Diogo

@DiogoRocha Не переповнюється: я отримав 2.8462596809170545189064132121199e + 35659. Однак зробив це менше ніж за секунду на моєму комп’ютері.
квантовий

хммм. Шахта переповнювалась, фактично фактор на цифровому кальці робиться математично зводячись до усіченого ряду ... це апроксимація, яка зменшить навантаження на процесор. це ця причина, тому що ви залишили менше 1 секунди обробки ..
Diogo

Я підозрюю, переповнюється він чи ні, може залежати від того, є процесор 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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.