Bagaimana saya bisa menghasilkan beban CPU yang tinggi di Windows?


76

Untuk tujuan pengujian saya perlu menghasilkan beban CPU yang tinggi pada Windows Server 2003. Saya tidak dapat menginstal perangkat lunak apa pun tetapi harus puas dengan apa yang disediakan Windows.

Apa cara terbaik untuk mencapainya?


4
Saya biasanya hanya meluncurkan banyak contoh cmd.exe dengan dir /s C:. Dapatkan 10 atau lebih dari mereka yang menjalankan sekaligus dan Anda mendapatkan penggunaan CPU yang sangat tinggi (70% + di semua core i7-2600k saya) di samping banyak disk I / O. Tidak sempurna, tapi itu menyelesaikan pekerjaan.
Andrew Lambert

Jawaban:


67

consume.exedari Windows Server 2003 Resource Toolkit dapat melakukan ini dengan mudah.

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...

Menggunakan waktu CPU 100% pada semua core selama itu berjalan. Itu juga dapat mengkonsumsi sumber daya lain (seperti namanya).


20
Resource Toolkit tidak diinstal secara default.
HaydnWVN

Bagaimana dengan server 2008?
Jonathan Rioux

@ JonathanRioux: Solusi yang sama, unduh toolkit sumber daya yang ditautkan dalam jawaban dan penggunaan consume.exe. Aplikasi tidak termasuk dalam versi Windows Server apa pun secara default.
Der Hochstapler

The consume.exejuga dapat digunakan untuk mengkonsumsi semua ruang disk Anda menggunakan consume -disk-space -time 60. Ini alat yang sangat berguna! Saat menginstalnya sebagai bagian dari Resource Toolkit, maka itu akan diinstal C:\Program Files (x86)\Windows Resource Kits\Toolssecara default.
Benny Neugebauer

Alat yang bagus, tetapi perlu diketahui bahwa selalu memulai utasnya di prioritas normal, bahkan jika EXE sendiri dimulai pada "di bawah normal".
EM0

39

File batch berikut melakukannya:

@echo off
:loop
goto loop

Namun, jika Anda memiliki banyak inti, Anda harus memulai beberapa instance.

Untuk berhenti, tekan Ctrl+ Cdi konsol.


Itu sempurna. Hanya satu eksekusi per inti. Solusi terbaik tetap sederhana. Terima kasih. TETAPI, saya tidak tahu bagaimana cara memeriksa n core yang tidak menonton% loop contoh 1, karena saya punya fisik dan core, tetapi bukan threads counter pada Windows7 saya. ( wmic cpu get NumberOfCoresakan menjadi 2, dan saya memiliki 4 utas, 2 inti). Saya menduga untuk membuat batch otomatis yang sepenuhnya sesuai dengan kapasitas CPU 100%. Salam Hormat.
erm3nda

34

IntelBurnTest dan Prime95 dikenal melakukan hal ini. Mereka tidak benar-benar memerlukan instalasi, karena dapat dijalankan dengan membongkar ritsleting masing-masing, tetapi tidak memenuhi persyaratan "harus asli" Anda. Saya overclocker, dan ini adalah alat yang saya gunakan untuk memastikan stabilitas sistem absolut, mereka akan menghasilkan beban maksimal dari komputer Anda.

Adapun keinginan Anda untuk itu menjadi bagian asli dari perangkat lunak - windows tidak benar-benar datang dengan alat untuk melakukan hal seperti itu, kecuali mungkin file batch di atas, yang akan menjadi berantakan untuk ditangani jika menjadi berantakan . (Loop tak terbatas bisa berantakan.)


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 thingTapi itu syarat dari pertanyaan itu. Alat yang Anda sarankan tidak cocok untuk itu dan karenanya harus berupa komentar, bukan jawaban. except for maybe the above batch file, which is going to be a mess to handle if it goes haywire. (Infinite loops can be messyHampir tidak. Windows menyertakan beberapa opsi pemrograman yang dapat dengan mudah dibuat untuk mengkonsumsi siklus CPU sambil tetap memberikan kontrol.
Synetech

29

Loop ketat dalam VBS tanpa I / O akan melakukannya. Anda akan membutuhkan proses sebanyak inti. Yang berikut ini akan menggunakan 100% pada Win2k3 VM saya, atau 50% pada host dual-core saya (100% jika saya meluncurkan 2)

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

Anda harus membunuh wscript.exe di task manager untuk mengakhirinya.


Saya benar-benar tidak mengerti kode yang Anda masukkan. Apakah Anda mengujinya sebelum mengujinya? Bagaimana saya perlu mengujinya. Anda tidak memasukkan begitu banyak info. Saya suka seperti itu, tetapi jelaskan sedikit. Tidak ada hadiah untuk kemalasan.
erm3nda

Itulah hasil dari membuat skrip dan menjalankannya.
mgjk

Dan di mana skripnya?
erm3nda

Baris 2 dan 3.
mgjk

Maaf, ini bukan vbs bat. Kegagalan saya. Script ini membutuhkan tepat 1 utas. Anda harus menjalankan beberapa instance seperti script bat: goto. Ini adalah mitra vbs. Bagus. Terima kasih.
erm3nda

9

CPUSTRES.EXE

Ada alat SysInternals lama dari tahun 1996 yang disebut "CPU Stress" yang masih berfungsi. (Saya baru mencobanya di laptop Windows 10 saya.)

Beban CPU khusus

Ini berbasis GUI dan memungkinkan Anda menjalankan hingga empat utas pada intensitas khusus. Ini memungkinkan Anda untuk menyetel beban CPU yang diinginkan. Sebagai aturan praktis: Satu utas dengan Activityset Maximumakan mengkonsumsi sekitar 25% CPU. Jadi sebagai contoh: Jika Anda menjalankan tiga utas pada Maksimum, beban CPU Anda mencapai sekitar 75%.

Portable

CPUSTRES.EXEadalah unduhan portabel dan tidak memerlukan instalasi.


CPUSTRES.EXE juga direkomendasikan oleh Microsoft: blogs.msdn.microsoft.com/vijaysk/2012/10/26/… - Alat yang sangat bagus!
Benny Neugebauer

Ini alat yang bagus, tetapi sayangnya hanya memungkinkan memulai 4 utas, yang tidak cukup untuk memaksimalkan prosesor modern (quad-core dengan hyper-threading).
EM0

5

HyperPi (GUI untuk menjalankan SuperPi pada banyak core) dapat dijalankan tanpa menginstal cukup salin ke server dan jalankan dari lokasi mana pun. Bahkan pada sesuatu yang cepat Anda dapat memuat semua inti selama beberapa jam, katakanlah 16 perhitungan tempat 32M simultan.


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.Itu teknis dan nitpick. Ketika seseorang mengatakan "tidak dapat menginstal apa pun", itu tidak berarti benar-benar menginstal , mereka mungkin tidak dapat menjalankan sesuatu yang baru. Misalnya, mungkin ada kebijakan sistem yang memblokir semua program kecuali yang ada dalam daftar putih. Itu bahkan akan mencegah aplikasi “portabel” untuk berjalan, jadi mengatakan bahwa Anda tidak harus menginstalnya tidak berfungsi.
Synetech

4

Menjalankan for /l %a in (0,0,1) do echo adalam prompt perintah (pencetakan loop tak terbatas a) memiliki efek yang diamati mulai conhost.exemenjalankan berlari pada 10-20% beban CPU pada Windows 7 pada ponsel i5 low-end. Anda dapat mencoba menjalankan beberapa dari ini secara paralel, misalnya yang berikut ini dalam file batch:

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

Itu bisa membuat CPU Anda berjalan pada 100%. Garis dapat ditambahkan / dihapus untuk menyesuaikan.
Peringatan: Itu adalah loop tanpa batas, yang mungkin Anda susah ditutup. Angka-angka di dalam tanda kurung dapat diganti, misalnya (0,1,10000), untuk loop terbatas. Angka terakhir (dalam loop terbatas) dapat disesuaikan untuk menyesuaikan waktu berjalan. Jika Anda bertanya-tanya, ini pada dasarnya berarti "mulai dari angka 0, naik 1 hingga mencapai 10.000", yang berarti 10.000 siklus putaran.


Sudahkah Anda menguji ini? Ini terikat IO jadi saya pikir itu mungkin tidak akan mencapai utilisasi CPU 100%, tidak peduli berapa kali Anda memulai.
Ben Richards

1
Itu bisa sangat tergantung pada sistem. Bagi saya, itu secara konsisten di atas total 97%, meskipun dengan dwm.exe25% dan semua conhosts melayang sekitar 5-10%. Bagaimanapun, solusi vbscript mgjk lebih elegan.
Bob

Konsol windows sangat lambat ketika datang untuk membanjiri konsol. Ini juga menyebabkan kelambatan GUI yang signifikan yang mungkin tidak memungkinkan Anda untuk membunuhnya dengan task manager. Perhatikan bahwa Ctrl-C atau Ctrl-Break tidak akan berfungsi karena data yang sudah keluar.
quantum

4

Saya baru-baru ini menemukan dan dapat merekomendasikan versi gratis dari HeavyLoad:

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

Melakukan pekerjaan yang efektif untuk meningkatkan level CPU untuk melihat bagaimana aplikasi mengatasi tekanan.


Seperti yang mereka katakan:can’t install/run any third-party software; only built into Windows
Synetech

Saya menemukan bahwa program prograt sangat menarik. Ini hanya bekerja dan Anda juga bisa mendapatkan 100% CPU hanya menggunakan ram 256Mb (saya lakukan pada ram i5 4gb untuk referensi Anda). Satu-satunya pilihan yang saya lewatkan adalah tekanan GPU yang dijanjikan perangkat lunak. @AndyUK, apakah Anda menemukan opsi itu?
erm3nda

1

Cara kebanyakan orang melakukannya adalah menjalankan sesuatu yang melakukan banyak pemrosesan - saya direkomendasikan superpi , meskipun hyperpi mungkin bekerja lebih baik untuk sistem modern. Hitung nilai pi yang sangat besar, dan itu akan secara efektif menjalankan prosesor pada beban penuh.

Atau Anda dapat menjalankan StressCPU yang didasarkan pada folding @ home

Jika Anda perlu menyimpan beban tinggi untuk jangka waktu yang lebih lama, pertimbangkan sesuatu seperti melipat @ rumah



1

Jika Anda tidak memiliki internet untuk komputer itu atau tidak dapat mengingat situs web untuk tes CPU itu, dan Anda merasa tidak ingin menulis skrip, Anda dapat menggunakan fitur zip bawaan windows untuk mengompres banyak file atau folder beberapa kali secara bersamaan .

Klik kanan file atau folder, arahkan ke Kirim Ke, lalu klik Folder Terkompresi (zip)

Anda dapat melakukan file / folder yang sama beberapa kali secara bersamaan, saya sarankan menggunakan folder windows atau program file.

Anda kemudian dapat membuka zip file ke lokasi lain dan melakukan perbandingan file dengan perintah fc untuk memeriksa untuk melihat bahwa semua perhitungan terjadi dengan benar. Meskipun saya akan menyarankan Anda menggunakan satu file besar untuk ini sebagai sintaks perintah untuk perbandingan file banyak file dengan alat windows standar mengganggu.


Terkesan dengan itu. The: goto loop pada kelelawar terdengar jauh lebih mudah. Dan hindari penggunaan I / O omong kosong.
erm3nda

1

Cepat, mudah, PowerShell

while ($true){}

Loop tak terbatas tanpa input atau output; mirip dengan jawaban Quantum, jika Anda memiliki banyak inti, Anda harus memulai beberapa contoh PowerShell yang menjalankan skrip ini


0

Gunakan "calc" bawaan untuk menghitung 10.000! (10.000 faktorial). Gunakan dua atau tiga instance untuk memaksimalkan Multi-core.


Sebenarnya itu akan meluap calc .... ada nilai maksimum yang menghitung calc, itu kurang dari 10.000 tetapi lebih dari 1000.
Diogo

@DiogoRocha Tidak meluap: Saya mendapat 2.8462596809170545189064132121199e + 35659. Namun, melakukannya dalam waktu kurang dari satu detik di komputer saya.
kuantum

hmmm. Tambang saya memang meluap, sebenarnya faktorial pada kalk digital dibuat secara matematis direduksi menjadi seri terpotong ... itu adalah aproximation yang akan mengurangi beban cpu. ini adalah alasanmu karena kamu meninggalkan kurang dari 1 detik pemrosesan ..
Diogo

Saya curiga apakah itu meluap atau tidak dapat tergantung pada apakah CPU 32-bit atau 64-bit. Either way, saya tidak melihat bagaimana itu akan memakan banyak siklus CPU. Saya baru saja melakukan beberapa faktorial dan yang tertinggi yang bisa saya lakukan adalah 3248 !, tetapi tidak satupun dari mereka yang membuat blip pada grafik CPU Task Manager, dan mengapa harus demikian? Factorials adalah operasi matematika yang sangat mudah, sangat murah.
Synetech

@Synetech Mine meluap, menggunakan Windows 7 64 bit. Saya menggunakan kalkulator biginteger dan mendapatkan ini sebagai jawaban: pastebin.com/AeCf1s9c
starbeamrainbowlabs

0

Saya menerbitkan alat seperti itu bernama MultiCpuLoad .

  • Beban yang dapat dipilih mulai dari 20% hingga 90%.
  • CPU yang dapat dipilih.
  • Tidak ada instalasi
  • Tidak diperlukan hak admin.

Membutuhkan .NET Framework 2.0, 3.5, atau 4.5.

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.