Frage

Ich habe ein RHEL Box, die ich brauche unter einem moderaten und variablen Betrag setzen von CPU-Last (50% -75%).

Was ist der beste Weg, um dies zu realisieren? Gibt es ein Programm, das diese, die ich bin mir nicht bewusst tun kann? Ich bin glücklich, einige C-Code zu schreiben, damit dies geschieht, ich weiß nur nicht, welche Systemaufrufe helfen.

War es hilfreich?

Lösung

Das ist genau das, was Sie brauchen: http://weather.ou.edu/~apw/projects/stress/

Von der Homepage: „Stress ist ein einfacher Workload-Generator für POSIX-Systeme. Es hat eine konfigurierbare Menge von CPU auferlegt, Speicher, I / O und Platten Stress auf dem System. Es ist in C geschrieben und freie Software ist unter dem GPL lizenziert.“

Andere Tipps

Finden Sie eine einfache Primzahl Suche Programm, das Quellcode hat. Ändern Sie den Quellcode einen nanosleep Aufruf zur Hauptschleife hinzuzufügen mit welcher auch immer Verzögerung gibt Ihnen die gewünschte CPU-Last.

Eine gängige Methode, einige Last auf einem System zu bekommen, ist ein großes Software-Paket über kompilieren und immer wieder. So etwas wie der Linux-Kernel.

eine Kopie des Quellcodes holen, die tar.bz2 zu extrahieren, gehen Sie in der obersten Ebene Quellverzeichnis, kopieren Sie Ihre Kernel-Konfiguration von / boot .config oder zcat /proc/config.gz> .config, die machen oldconfig, dann während true; Sie machen sauber && bzImage machen; getan

Wenn Sie ein SMP-System haben, dann machen -j bzImage Spaß ist, wird es Aufgaben parallel machen laichen.

Ein Problem dabei die CPU-Last eingestellt wird. Es wird eine maximale CPU-Last mit Ausnahme sein, wenn auf der Festplatte I / O warten.

Sie könnten möglicherweise tun dies ein Bash-Skript. Verwenden Sie „ps -o pcpu | grep -v CPU“, um die CPU-Auslastung aller Prozesse zu erhalten. Fügen Sie alle zusammen die Werte der aktuellen Nutzung zu erhalten. Dann haben eine beschäftigt, während Schleife, die auf die Überprüfung dieser Werte im Grunde hält, die aktuelle CPU-Auslastung, herauszufinden, und warten, um eine berechnete Menge an Zeit, um den Prozessor zu einem bestimmten Schwellenwert zu halten. Mehr Detail benötigen, aber dies wird hoffentlich gibt Ihnen einen guten Ausgangspunkt.

Werfen Sie einen Blick auf diese CPU-Monitor Skript, das ich gefunden und versuchen, bekommen einige andere Ideen, wie man dies erreichen kann.

Es hängt davon ab, was Sie wirklich zu testen versuchen. Wenn Sie nur Last testen CPU, einfache Skripte leer CPU-Zyklen essen wird gut funktionieren. Ich persönlich hatte die Leistung eines RAID-Arrays zu testen, vor kurzem, und ich verließ sich auf Bonnie ++ und IOzone. IOzone wird eine ordentliche Last auf der Schachtel gelegt, vor allem, wenn Sie die Dateigröße höher als der RAM eingestellt.

Sie können auch daran interessiert sein dieser Artikel .

Mit dem "netten" Befehl.

a) Höchste Priorität: $ Schön -n -20 my_command

oder

b) Niedrigste Priorität: $ Schön -n 20 my_command

Ein einfaches Skript zu laden und die CPU-Hammer awk. Das Skript führt mathematische Berechnungen und somit CPU Lastspitzen auf höhere Werte passwd bis loadserver.sh.

das Skript Kasse @ http://unixfoo.blogspot.com/2008/11/linux-cpu -Hammer-script.html

Sie können wahrscheinlich einige Last-Werkzeug zum Erzeugen verwenden, um dies zu erreichen, oder ein Skript ausführen, alle CPU-Zyklen zu nehmen und dann mit schön und renice auf dem Prozess den Prozentsatz der Zyklen zu variieren, dass der Prozess bekommt.

Hier ist ein Beispiel Bash-Skript, das alle freien CPU-Zyklen besetzen:

#!/bin/bash
while true ; do
true
done

Lookbusy ermöglicht Sollwert der CPU-Last. Projektseite

lookbusy -c util[-high_util], --cpu-util util[-high_util]

i.e. 60% load
lookbusy -c 60

Nicht sicher, was Ihr Ziel ist. Ich glaube, glxgears 100% CPU verwenden.

So jeden Prozess, die Sie wissen, max aus der CPU auf 100%.

Wenn Sie vier CPU-Kern (0 1 2 3), könnten Sie „taskset“ verwenden diesen Prozess zu binden, zu sagen CPUs 0 und 1. Die Ihre Box 50% geladen werden soll. Zu laden, es 75% um den Prozess zu 0 1 2 CPUs binden.

Disclaimer: Lassen Sie sich diese nicht getestet. Bitte teilen Sie uns Ihre Ergebnisse wissen. Auch wenn das funktioniert, ich bin mir nicht sicher, was Sie aus diesem erreichen werden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top