Làm cách nào tôi có thể tạo tải CPU cao trên Windows?


76

Đối với mục đích thử nghiệm, tôi cần tạo tải CPU cao trên Windows Server 2003. Tôi không thể cài đặt bất kỳ phần mềm nào mà phải thực hiện với những gì Windows cung cấp.

Điều gì sẽ là cách tốt nhất để đạt được điều đó?


4
Tôi thường chỉ khởi chạy một loạt các trường hợp cmd.exe với dir /s C:. Nhận 10 hoặc hơn những người chạy cùng một lúc và bạn có mức sử dụng CPU rất cao (70% + trên tất cả các lõi của i7-2600k của tôi) cùng với rất nhiều I / O đĩa. Không hoàn hảo, nhưng nó hoàn thành công việc.
Andrew Lambert

Câu trả lời:


67

consume.exetừ Bộ công cụ tài nguyên Windows Server 2003 có thể thực hiện việc này một cách dễ dàng.

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

Sử dụng 100% thời gian CPU trên tất cả các lõi miễn là nó chạy. Nó cũng có thể tiêu thụ các tài nguyên khác (như tên của nó).


20
Bộ công cụ tài nguyên không được cài đặt theo mặc định.
HaydnWVN

Một máy chủ năm 2008 thì sao?
Jonathan Rioux

@JonathanRioux: Cùng một giải pháp, tải xuống bộ công cụ tài nguyên được liên kết trong câu trả lời và sử dụng consume.exe. Ứng dụng không được bao gồm trong bất kỳ phiên bản Windows Server nào theo mặc định.
Der Hochstapler

Cũng consume.execó thể được sử dụng để tiêu thụ tất cả không gian đĩa của bạn bằng cách sử dụng consume -disk-space -time 60. Đây là một công cụ rất tiện dụng! Khi cài đặt nó như một phần của Bộ công cụ tài nguyên, sau đó nó sẽ được cài đặt C:\Program Files (x86)\Windows Resource Kits\Toolstheo mặc định.
Benny Neugebauer

Công cụ tuyệt vời, nhưng lưu ý rằng nó luôn bắt đầu các luồng của nó ở mức ưu tiên bình thường, ngay cả khi bản thân EXE được bắt đầu ở mức "dưới mức bình thường".
EM0

39

Các tập tin lô sau đây thực hiện nó:

@echo off
:loop
goto loop

Tuy nhiên, nếu bạn có nhiều lõi, bạn đã bắt đầu nhiều trường hợp.

Để dừng, nhấn Ctrl+ Ctrong bảng điều khiển.


Điều đó thật hoàn hảo. Chỉ cần một thực thi cho mỗi lõi. Giải pháp tốt nhất vẫn đơn giản. Cảm ơn bạn. NHƯNG, tôi không thể tìm ra cách kiểm tra n lõi không xem phiên bản vòng lặp thứ nhất%, bởi vì tôi có các lõi vật lý và lõi, nhưng không truy cập các luồng trên Windows7. ( wmic cpu get NumberOfCoressẽ là 2, và tôi có 4 luồng, 2 lõi). Tôi đoán để tạo một lô tự động hoàn toàn phù hợp với dung lượng CPU 100%. Trân trọng.
erm3nda

34

IntelBurnTestPrime95 được biết đến để làm việc này. Chúng không thực sự yêu cầu cài đặt, vì chúng có thể được chạy bằng cách giải nén các khóa tương ứng của chúng, nhưng nó không đáp ứng yêu cầu "phải là bản địa" của bạn. Tôi là người ép xung và đây là những công cụ tôi sử dụng để đảm bảo sự ổn định tuyệt đối của hệ thống, chúng sẽ tạo ra tải tối đa từ máy tính của bạn.

Đối với việc bạn muốn nó là một phần mềm nguyên gốc - windows không thực sự đi kèm với các công cụ để làm việc đó, ngoại trừ có thể là tệp bó ở trên, sẽ là một mớ hỗn độn để xử lý nếu nó bị trục trặc . (Vòng lặp vô hạn có thể lộn xộn.)


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 thingNhưng đó là yêu cầu của câu hỏi. Các công cụ bạn đề xuất không phù hợp với điều đó và vì vậy nên là bình luận, không phải là câu trả lời. except for maybe the above batch file, which is going to be a mess to handle if it goes haywire. (Infinite loops can be messyKhó khăn. Windows bao gồm một số tùy chọn lập trình có thể dễ dàng thực hiện để tiêu thụ chu kỳ CPU trong khi vẫn cung cấp quyền kiểm soát.
Synetech

29

Một vòng lặp chặt chẽ trong VBS không có I / O sẽ làm điều đó. Bạn sẽ cần nhiều quá trình như lõi. Phần sau đây sẽ sử dụng 100% cho máy ảo Win2k3 của tôi hoặc 50% cho máy chủ lõi kép của tôi (100% nếu tôi khởi chạy 2)

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

Bạn sẽ phải giết wscript.exe trong trình quản lý tác vụ để kết thúc nó.


Tôi thực sự không hiểu mã bạn đặt. Bạn đã kiểm tra nó trước khi kiểm tra nó? Làm thế nào để tôi cần phải kiểm tra nó. Bạn không có quá nhiều thông tin. Tôi thích cách đó, nhưng giải thích một chút. Không có giải thưởng cho sự lười biếng.
erm3nda

Đó là đầu ra của việc tạo tập lệnh và chạy nó.
mgjk

Và kịch bản ở đâu?
erm3nda

Đó là dòng 2 và 3.
mgjk

Tôi xin lỗi, đây là vbs không bat. Thất bại của tôi. Wscript này mất chính xác 1 chủ đề. Bạn sẽ cần chạy nhiều phiên bản như tập lệnh bat: goto. Đó là bản sao của vbs. Đẹp. cảm ơn.
erm3nda

9

CPUSTRES.EXE

Có một công cụ SysIternalstừ năm 1996 được gọi là "CPU Stress" vẫn hoạt động. (Tôi vừa thử nó trên máy tính xách tay Windows 10.)

Tải CPU tùy chỉnh

Nó dựa trên GUI và cho phép bạn chạy tối đa bốn luồng ở cường độ tùy chỉnh. Điều này cho phép bạn điều chỉnh tải CPU mong muốn. Theo nguyên tắc thông thường: Một luồng Activityđược thiết lập Maximumsẽ tiêu thụ khoảng 25% CPU. Vì vậy, như một ví dụ: Nếu bạn chạy ba luồng ở mức Tối đa, tải CPU của bạn sẽ đạt khoảng 75%.

Di động

CPUSTRES.EXElà một tải về di động và không cần cài đặt.


CPUSTRES.EXE cũng được Microsoft khuyên dùng: blog.msdn.microsoft.com/vijaysk/2012/10/26/ Lời - Công cụ rất tốt!
Benny Neugebauer

Đây là một công cụ tuyệt vời, nhưng thật không may, chỉ cho phép bắt đầu 4 luồng, không đủ để tối đa hóa bộ xử lý hiện đại (lõi tứ với siêu phân luồng).
EM0

5

HyperPi (GUI để chạy SuperPi trên nhiều lõi) có thể chạy mà không cần cài đặt chỉ cần sao chép nó vào máy chủ và chạy nó từ bất kỳ vị trí nào. Ngay cả trên một cái gì đó nhanh chóng, bạn có thể tải lên tất cả các lõi trong vài giờ khi thực hiện 16 phép tính vị trí 32M đồng thời.


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.Đó là một kỹ thuật và một nitpick. Khi ai đó nói rằng, Cameron không thể cài đặt bất cứ thứ gì, điều đó không nhất thiết có nghĩa là thực sự cài đặt , họ có thể không chạy được bất cứ thứ gì mới. Ví dụ: có thể có chính sách hệ thống chặn tất cả các chương trình ngoại trừ các chương trình trong danh sách trắng. Điều đó sẽ ngăn không cho các ứng dụng di động trực tuyến của Viking chạy, do đó, nói rằng bạn không phải cài đặt nó không hoạt động.
Synetech

4

Chạy for /l %a in (0,0,1) do echo atrong một dấu nhắc lệnh (in vòng lặp vô hạn a) có tác dụng quan sát được khi bắt đầu conhost.exechạy ở mức tải CPU 10-20% trên Windows 7 trên i5 di động cấp thấp. Bạn có thể thử chạy song song một vài trong số này, ví dụ như sau trong một tệp bó:

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

Điều đó có thể có CPU của bạn chạy ở mức 100%. Các dòng có thể được thêm / xóa để điều chỉnh.
Cảnh báo: Đó là những vòng lặp vô hạn, mà bạn có thể gặp khó khăn khi đóng. Các số bên trong dấu ngoặc đơn có thể được thay thế, ví dụ (0,1,10000), cho một vòng lặp hữu hạn. Số cuối cùng (trong vòng lặp hữu hạn) có thể được điều chỉnh để điều chỉnh thời gian chạy. Trong trường hợp bạn đang tự hỏi, về cơ bản nó có nghĩa là "bắt đầu từ số 0, tăng 1 cho đến khi đạt 10000", nghĩa là 10000 chu kỳ vòng lặp.


Bạn đã thử nghiệm điều này? Đây là IO bị ràng buộc nên tôi nghĩ có lẽ nó sẽ không đạt được mức sử dụng CPU 100%, bất kể bạn khởi chạy bao nhiêu trường hợp.
Ben Richards

1
Nó rất có thể phụ thuộc hệ thống. Đối với tôi, nó luôn ở mức trên 97%, mặc dù với dwm.exe25% và tất cả các conhost lơ lửng khoảng 5-10%. Trong mọi trường hợp, giải pháp vbscript của mgjk là thanh lịch hơn.
Bob

Bảng điều khiển cửa sổ đặc biệt chậm khi làm ngập bảng điều khiển. Nó cũng gây ra độ trễ GUI đáng kể có thể không cho phép bạn giết nó bằng trình quản lý tác vụ. Lưu ý rằng Ctrl-C hoặc Ctrl-Break sẽ không hoạt động vì dữ liệu đã hết.
lượng tử

4

Gần đây tôi đã phát hiện ra và có thể giới thiệu phiên bản miễn phí của HeavyLoad:

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

Có phải là một công việc hiệu quả trong việc tăng mức CPU để xem các ứng dụng đối phó như thế nào.


Giống như họ đã nói:can’t install/run any third-party software; only built into Windows
Synetech

Tôi thấy rằng chương trình prograt rất thú vị. Nó chỉ đơn giản hoạt động và bạn cũng có thể nhận được 100% CPU chỉ bằng 256Mb ram (tôi làm trên ram i5 4gb để bạn tham khảo). Tùy chọn duy nhất tôi bỏ lỡ là sự căng thẳng GPU mà phần mềm hứa hẹn. @AndyUK, bạn đã tìm thấy tùy chọn đó?
erm3nda

1

Cách mà hầu hết mọi người làm là chạy một cái gì đó có tải xử lý - tôi đã được đề xuất superpi , mặc dù hyperpi có thể hoạt động tốt hơn cho một hệ thống hiện đại. Tính toán giá trị lớn một cách vô lý của pi và nó sẽ chạy bộ xử lý một cách hiệu quả khi đầy tải.

Ngoài ra, bạn có thể chạy StressCPU dựa trên gấp @ home

Nếu bạn cần giữ tải cao trong thời gian dài hơn, hãy xem xét một số thứ như gấp @ home



1

Nếu bạn không có internet cho máy tính đó hoặc không thể nhớ trang web cho bài kiểm tra cpu đó và bạn không cảm thấy như đang viết kịch bản, bạn có thể sử dụng các cửa sổ được tích hợp tính năng zip để nén một loạt các tệp hoặc thư mục nhiều lần .

Bấm chuột phải vào tệp hoặc thư mục, trỏ đến Gửi đến, sau đó bấm Thư mục được nén (nén)

Bạn có thể thực hiện cùng một tệp / thư mục nhiều lần cùng một lúc, tôi đề nghị sử dụng các thư mục tệp hoặc cửa sổ chương trình.

Sau đó, bạn có thể giải nén các tệp sang vị trí khác và thực hiện so sánh tệp với lệnh fc để kiểm tra xem tất cả các phép tính xảy ra chính xác. Mặc dù tôi sẽ đề nghị bạn sử dụng một tệp lớn duy nhất cho việc này làm cú pháp lệnh để so sánh tệp của rất nhiều tệp với các công cụ windows tiêu chuẩn gây khó chịu.


Ấn tượng với điều đó. Vòng lặp: goto trên một con dơi nghe có vẻ dễ dàng hơn nhiều. Và tránh sử dụng I / O vô nghĩa.
erm3nda

1

Nhanh chóng, dễ dàng, PowerShell

while ($true){}

Một vòng lặp vô hạn không có đầu vào hoặc đầu ra; tương tự như câu trả lời của Quantum, nếu bạn có nhiều lõi, bạn phải bắt đầu nhiều phiên bản PowerShell chạy tập lệnh này


0

Sử dụng "calc" tích hợp để tính 10000! (10000 giai thừa). Sử dụng hai hoặc ba trường hợp để tối đa hóa Đa lõi.


Trên thực tế, nó sẽ tràn calc .... có một giá trị tối đa mà calc sẽ tính toán, nó nhỏ hơn 10000 nhưng hơn 1000.
Diogo

@DiogoRocha Không tràn: Tôi nhận được 2.8462596809170545189064132121199e + 35659. Tuy nhiên, đã làm nó trong chưa đầy một giây trên máy tính của tôi.
lượng tử

hừm Của tôi đã tràn, thực sự là một nhân tố trên một calc kỹ thuật số được thực hiện giảm dần thành một loạt bị cắt cụt ... đó là một phép tính gần đúng sẽ làm giảm tải cpu. đây là lý do vì bạn chỉ còn chưa đến 1 giây để xử lý ..
Diogo

Tôi nghi ngờ liệu nó có tràn hay không có thể phụ thuộc vào việc CPU là 32 bit hay 64 bit. Dù bằng cách nào, tôi không thấy điều đó sẽ chiếm nhiều chu kỳ CPU như thế nào. Tôi vừa mới thực hiện một số giai thừa và mức cao nhất tôi có thể đạt được là 3248!, Nhưng không ai trong số họ thực hiện ngay cả một biểu đồ trên CPU của Trình quản lý tác vụ, và tại sao lại như vậy? Yếu tố là một hoạt động toán học rất dễ dàng, rất rẻ.
Synetech

@Synetech Mine tràn, sử dụng Windows 7 64 bit. Tôi đã sử dụng một máy tính biginteger và nhận được điều này như một câu trả lời: pastebin.com/AeCf1s9c
starbeamrainbowlabs

0

Tôi xuất bản một công cụ như vậy có tên MultiCpuLoad .

  • Tải có thể lựa chọn từ 20% đến 90%.
  • CPU có thể lựa chọn.
  • Không cần cài đặt.
  • Không có quyền quản trị cần thiết.

Yêu cầu .NET Framework 2.0, 3.5 hoặc 4.5.

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.