À des fins de test, je dois générer une charge de processeur élevée sur Windows Server 2003. Je ne peux installer aucun logiciel, mais je dois me débrouiller avec ce que Windows fournit.
Quel serait le meilleur moyen d'y parvenir?
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% du temps CPU sur tous les cœurs tant qu'il fonctionne. Il peut également consommer d'autres ressources (comme son nom l'indique).
Le fichier de commandes suivant le fait:
@echo off
:loop
goto loop
Cependant, si vous avez plusieurs cœurs, vous devez démarrer plusieurs instances.
Pour arrêter, appuyez sur Ctrl+C dans la console.
IntelBurnTest et Prime95 sont connus pour cela. Ils ne nécessitent pas vraiment d'installation, car ils peuvent être exécutés en décompressant leurs zips respectifs, mais cela ne répond pas à votre exigence "doit être natif". Je suis un overclockeur et ce sont les outils que j’utilise pour assurer la stabilité absolue du système. Ils vont génèrent la plus grande charge possible de votre ordinateur.
Pour ce qui est de votre désir d’être un logiciel natif - Windows ne vient pas vraiment avec les outils pour faire une telle chose, sauf peut-être le fichier de commandes ci-dessus, qui va être un désastre à gérer si ça va mal. . (Les boucles infinies peuvent être désordonnées.)
Une boucle étroite dans VBS sans I/O le fera. Vous aurez besoin d'autant de processus que de cœurs. Ce qui suit utilisera 100% sur ma machine virtuelle Win2k3 ou 50% sur mon hôte bicœur (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.
Il existe un ancien outil SysInternals de 1996 appelé "CPU Stress" qui fonctionne toujours. (Je viens de l'essayer sur mon ordinateur portable Windows 10.)
Il est basé sur une interface graphique et vous permet d'exécuter jusqu'à quatre threads à des intensités personnalisées. Cela vous permet d’ajuster la charge du processeur souhaitée. En règle générale: Un thread avec Activity
défini sur Maximum
consomme environ 25% du processeur. Ainsi, à titre d'exemple: si vous exécutez trois threads au maximum, la charge de votre processeur atteint environ 75%.
CPUSTRES.EXE
est un téléchargement portable et ne nécessite pas d’installation.
HyperPi (l'interface graphique permettant d'exécuter SuperPi sur plusieurs cœurs) peut être exécutée sans installation. Il suffit de le copier sur le serveur et de l'exécuter à partir de n'importe quel emplacement. Même sur quelque chose de rapide, vous pouvez charger tous les cœurs pendant quelques heures en effectuant 16 calculs simultanés à 32 places.
J'ai récemment découvert et peux recommander la version gratuite de HeavyLoad:
http://www.jam-software.com/heavyload/
Fait un travail efficace pour remonter les niveaux de CPU pour voir comment les applications gèrent sous la contrainte.
L'exécution de for /l %a in (0,0,1) do echo a
dans une invite de commande (impression de boucle infinie a
) a pour effet observé de démarrer un conhost.exe
fonctionnant à 10-20% de la charge du processeur sous Windows 7 sur un mobile i5 bas de gamme. Vous pouvez essayer d’en exécuter plusieurs en parallèle, par exemple dans un fichier 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
Votre processeur pourrait fonctionner à 100%. Des lignes peuvent être ajoutées/supprimées pour s'ajuster.
Attention: ce sont des boucles infinies que vous pouvez avoir du mal à fermer. Les nombres entre parenthèses peuvent être remplacés, par exemple. (0,1,10000)
, pour une boucle finie. Le dernier nombre (dans la boucle finie) peut être ajusté pour ajuster le temps d'exécution. Au cas où vous vous le demanderiez, cela signifie fondamentalement "commencez au numéro 0, incrémentez de 1 jusqu'à atteindre 10000", ce qui correspond à 10 000 cycles de boucle.
Rapide, facile, PowerShell
while ($true){}
Une boucle infinie sans entrées ni sorties; Semblable à la réponse de Quantum, si vous avez plusieurs cœurs, vous devez démarrer plusieurs instances de PowerShell exécutant ce script.
Si vous n'avez pas Internet pour ce PC ou si vous ne vous souvenez plus du site Web pour ce test de CPU, et si vous ne vous sentez pas comme un script, vous pouvez utiliser la fonctionnalité intégrée de Zip pour compresser plusieurs fichiers ou dossiers simultanément .
Cliquez avec le bouton droit sur le fichier ou le dossier, pointez sur Envoyer vers, puis cliquez sur Dossier compressé (zippé).
Vous pouvez faire le même fichier/dossier plusieurs fois en même temps, je suggère d’utiliser les dossiers windows ou program files.
Vous pouvez ensuite décompresser les fichiers à un autre emplacement et comparer les fichiers avec la commande fc pour vérifier que tous les calculs ont été effectués correctement. Bien que je suggère que vous utilisiez un seul gros fichier pour cela, la syntaxe de commande permettant de comparer un grand nombre de fichiers avec des outils Windows standard est ennuyeuse.
La plupart des gens le font, c’est d’exécuter quelque chose qui demande beaucoup de traitement - j’ai été recommandé superpi , bien que hyperpi puisse mieux fonctionner pour un système moderne. Calculez une valeur absurdement élevée de pi et exécutez le processeur à pleine charge.
Sinon, vous pouvez exécuter StressCPU qui est basé sur fold @ home
Si vous devez conserver des charges élevées pendant de longues périodes, envisagez quelque chose comme folding @ home
Utilisez le "calcul" intégré pour calculer 10 000! (10000 factoriel). Utilisez deux ou trois instances pour maximiser un multicœur.
Je publie un tel outil nommé MultiCpuLoad .
Nécessite .NET Framework 2.0, 3.5 ou 4.5.