Question Comment puis-je générer une charge CPU élevée sous Windows?


À des fins de test, je dois générer une charge CPU élevée sur Windows Server 2003. Je ne peux pas installer de logiciel mais je dois me débrouiller avec ce que Windows fournit.

Quel serait le meilleur moyen d'y parvenir?


70
2018-03-03 13:18


origine


Je lance généralement juste un tas d’instances cmd.exe avec dir /s C:. Obtenez environ 10 de ceux qui fonctionnent en même temps et vous obtenez une utilisation très élevée du processeur (70% + sur tous les cœurs de mon i7-2600k) en plus des E / S de disque. Pas parfait, mais ça fait le travail. - Andrew Lambert


Réponses:


consume.exe du Windows Server 2003 Resource Toolkit peut le faire facilement.

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

Utilise 100% de temps CPU sur tous les cœurs tant qu'il s'exécute. Il peut également consommer d'autres ressources (comme son nom l'indique).


63
2018-03-03 17:04



Le Resource Toolkit n'est pas installé par défaut. - HaydnWVN
Qu'en est-il d'un serveur 2008? - Jonathan Rioux
@JonathanRioux: Même solution, téléchargez la boîte à outils liée à la réponse et utilisez-la consume.exe. L'application n'est incluse dans aucune version de Windows Server par défaut. - Der Hochstapler


IntelBurnTest et Prime95 sont connus pour cela. Ils ne nécessitent pas vraiment d’installation, car ils peuvent être exécutés en décompactant leurs zips respectifs, mais ils ne répondent pas à votre exigence "indispensable." Je suis un overclocker, et ce sont les outils que j'utilise pour assurer la stabilité absolue du système, ils volonté générer la plus grande charge de votre ordinateur.

En ce qui concerne votre souhait qu’il s’agisse d’un logiciel natif, Windows n’a pas vraiment les outils nécessaires, sauf peut-être le fichier de commandes ci-dessus, qui sera un gâchis à gérer s’il tourne mal. . (Les boucles infinies peuvent être salissantes.)


33
2018-03-03 15:21



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 Mais c'est la condition de la question. Les outils que vous avez proposés ne correspondent pas à cela et devraient donc être des commentaires, pas une réponse. 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 À peine. Windows comprend plusieurs options de programmation qui pourraient facilement être utilisées pour consommer des cycles de processeur tout en fournissant un contrôle. - Synetech


Le fichier de commandes suivant le fait:

@echo off
:loop
goto loop

Toutefois, si vous avez plusieurs cœurs, vous devez démarrer plusieurs instances.

Pour arrêter, appuyez sur Ctrl+C dans la console.


32
2018-03-03 17:20



C'était parfait. Une seule exécution par cœur. Les meilleures solutions restent simples. Je vous remercie. MAIS, je ne peux pas savoir comment vérifier si les cœurs n ne regardent pas l'instance de la 1ère boucle, parce que j'ai un physique et des cœurs, mais pas un compteur de threads sur Windows7. (wmic cpu get NumberOfCores serait 2, et j'ai 4 threads, 2 cœurs). Je suppose de créer un lot automatique qui correspond parfaitement à la capacité de 100% du processeur. Meilleures salutations. - erm3nda


Une boucle serrée dans VBS sans I / O le fera. Vous aurez besoin de autant de processus que de cœurs. Les éléments suivants utiliseront 100% sur ma VM Win2k3, ou 50% sur mon hôte dual-core (100% si je lance 2)

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

Vous devrez tuer wscript.exe dans le gestionnaire de tâches pour y mettre fin.


27
2018-03-03 16:14



Je ne comprends vraiment pas le code que vous mettez. L'avez-vous testé avant de le tester? Comment dois-je le tester? Vous ne mettez pas beaucoup d'informations. J'aime cette façon, mais explique un peu. Pas de prix pour la paresse. - erm3nda
C'est le résultat de la création du script et de son exécution. - mgjk
Et où est le script? - erm3nda
Ce sont les lignes 2 et 3. - mgjk
Je suis désolé, c'est vbs pas bat. Mon échec. Ce script prend exactement 1 thread. Vous devrez exécuter plusieurs instances comme la chauve-souris: goto script. C'est la contrepartie de vbs. Agréable. Merci. - erm3nda


Hyperpi (GUI pour exécuter SuperPi sur plusieurs cœurs) peut être exécuté sans installer, copiez-le simplement sur le serveur et exécutez-le à partir de n'importe quel endroit. Même sur quelque chose de rapide, vous pouvez charger tous les cœurs pendant quelques heures, par exemple 16 calculs simultanés de 32M.


5
2018-03-03 19:44



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. C'est un détail technique et un coup de pouce. Quand quelqu'un dit "ne peut rien installer", cela ne signifie pas nécessairement installer, ils peuvent ne pas être en mesure de courir n'importe quoi Nouveau. Par exemple, il peut y avoir une stratégie système qui bloque tous les programmes, sauf ceux figurant sur une liste blanche. Cela empêcherait même les applications "portables" de fonctionner, alors dire que vous n'avez pas à l'installer ne fonctionne pas. - Synetech


CPUSTRES.EXE

Il y a un vieux Outil SysInternals de 1996 appelé "CPU Stress" ça marche toujours. (Je l'ai juste essayé sur mon ordinateur portable Windows 10.)

Charge CPU personnalisée

Il est basé sur une interface graphique et vous permet d'exécuter jusqu'à quatre threads à des intensités personnalisées. Cela vous permet de régler la charge CPU souhaitée. En règle générale: un fil avec Activity mis à Maximum consommera environ 25% de CPU. Ainsi, par exemple, si vous exécutez trois threads au maximum, la charge de votre processeur passe à environ 75%.

Portable

CPUSTRES.EXE est un téléchargement portable et ne nécessite pas d'installation.


4
2017-12-03 10:57



CPUSTRES.EXE est également recommandé par Microsoft: blogs.msdn.microsoft.com/vijaysk/2012/10/26/... - Très bon outil! - Benny Neugebauer


Fonctionnement for /l %a in (0,0,1) do echo a dans une invite de commande (impression en boucle infinie a) a l'effet observé de démarrer un conhost.exe s'exécutant à une charge CPU de 10 à 20% sur Windows 7 sur un mobile bas de gamme i5. Vous pouvez essayer d'exécuter plusieurs d'entre eux en parallèle, par exemple les suivants dans un fichier de commandes:

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

Cela pourrait avoir votre CPU à 100%. Les lignes peuvent être ajoutées / supprimées pour ajuster.
Attention: Ce sont des boucles infinies, que vous pouvez avoir du mal à fermer. Les nombres entre parenthèses peuvent être remplacés, par ex. (0,1,10000), pour une boucle finie. Le dernier numéro (dans la boucle finie) peut être ajusté pour ajuster le temps de fonctionnement. Au cas où vous vous poseriez la question, cela signifie en gros "démarrer au numéro 0, incrémenter de 1 jusqu'à ce qu'il atteigne 10000", ce qui se traduit par 10000 cycles de boucle.


3
2018-03-03 13:41



Avez-vous testé cela? Ceci est lié à IO, donc je pense qu'il n'atteindra probablement pas 100% d'utilisation du processeur, quel que soit le nombre d'instances que vous lancez. - Ben Richards
Cela pourrait très bien dépendre du système. Pour moi, il était toujours supérieur à 97% au total, mais avec dwm.exeà 25% et tous les hôtes planant à environ 5-10%. Dans tous les cas, la solution vbscript de mgjk est plus élégante. - Bob
La console Windows est exceptionnellement lente lorsqu'il s'agit d'inonder la console. Cela provoque également un retard significatif de l'interface graphique, qui peut ne pas vous permettre de le tuer avec le gestionnaire de tâches. Notez que Ctrl-C ou Ctrl-Break ne fonctionnera pas à cause des données déjà sorties. - quantum


J'ai récemment découvert et je peux recommander la version gratuite de HeavyLoad:

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

Effectue un travail efficace pour augmenter les niveaux de processeur afin de voir comment les applications se débrouillent sous la contrainte.


3
2018-02-07 12:08



Comme ils ont dit: can’t install/run any third-party software; only built into Windows - Synetech
J'ai trouvé ce programme très intéressant. Cela fonctionne simplement et vous pouvez également obtenir 100% de CPU en utilisant seulement 256 Mo de RAM (je fais sur un i5 4 Go de RAM à votre référence). La seule option qui me manque est le stress du GPU que le logiciel promet. @ AndyUK, avez-vous trouvé cette option? - erm3nda