Heim  >  Artikel  >  System-Tutorial  >  Simulieren Sie die Systemlast unter Linux

Simulieren Sie die Systemlast unter Linux

PHPz
PHPznach vorne
2024-04-06 13:43:01323Durchsuche

在 Linux 上模拟系统负载

Systemadministratoren müssen häufig die Auswirkungen auf die Anwendungsleistung unter verschiedenen Lasten untersuchen. Das bedeutet, dass die Belastung immer wieder künstlich erzeugt werden muss. Natürlich können Sie dies mit speziellen Tools tun, aber manchmal möchten oder können Sie möglicherweise keine neuen Tools installieren.

Jede Linux-Distribution enthält Tools zum Erstellen von Workloads. Sie sind nicht so flexibel wie Spezialwerkzeuge, aber sie sind leicht verfügbar und erfordern keine besonderen Kenntnisse.

CPU

Der folgende Befehl erzeugt CPU-Last, indem er zufällige Daten komprimiert und das Ergebnis an /dev/null sendet:

cat /dev/urandom | gzip -9 > /dev/null

Wenn Sie eine größere Last wünschen oder das System über mehrere Kerne verfügt, komprimieren und dekomprimieren Sie die Daten einfach wie folgt:

cat /dev/urandom | gzip -9 | gzip -d | gzip -9 | gzip -d > /dev/null

Drücken Sie STRG+C, um den Vorgang abzubrechen.

Speichernutzung

Der folgende Befehl reduziert die Gesamtmenge des verfügbaren Speichers. Dies geschieht durch die Erstellung eines Dateisystems im Speicher und das Schreiben von Dateien in dieses. Sie können so viel Speicher verwenden, wie Sie möchten. Schreiben Sie einfach mehr Dateien hinein.

Erstellen Sie zunächst einen Mount-Punkt und mounten Sie das Ramfs-Dateisystem darauf:

mkdir z
mount -t ramfs ramfs z/

Schritt zwei: Verwenden Sie dd, um eine Datei in diesem Verzeichnis zu erstellen. Hier erstellen wir eine 128M-Datei:

dd if=/dev/zero of=z/file bs=1M count=128

Die Größe der Datei kann mit den folgenden Operatoren geändert werden:

  • bs= Blockgröße. Kann eine beliebige Zahl sein, gefolgt von B (für Bytes), K (für KB), M (für MB) oder G (für GB).
  • count= Wie viele Blöcke geschrieben werden sollen.
Festplatten-E/A

创建磁盘 I/O 的方法是先创建一个文件,然后使用 for 循环来不停地拷贝它。

下面使用命令 dd 创建了一个全是零的 1G 大小的文件:

dd if=/dev/zero of=loadfile bs=1M count=1024

下面命令用 for 循环执行 10 次操作。每次都会拷贝 loadfile 来覆盖 loadfile1

for i in {1..10}; do cp loadfile loadfile1; done

通过修改 {1..10} 中的第二个参数来调整运行时间的长短。(LCTT 译注:你的 Linux 系统中的默认使用的 cp 命令很可能是 cp -i 的别名,这种情况下覆写会提示你输入 y 来确认,你可以使用 -f 参数的 cp 命令来覆盖此行为,或者直接用 /bin/cp 命令。)

若你想要一直运行,直到按下 CTRL+C 来停止,则运行下面命令:

while true; do cp loadfile loadfile1; done

Das obige ist der detaillierte Inhalt vonSimulieren Sie die Systemlast unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:linuxprobe.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen