Maison  >  Article  >  Tutoriel système  >  Simuler la charge du système sous Linux

Simuler la charge du système sous Linux

PHPz
PHPzavant
2024-04-06 13:43:01323parcourir

在 Linux 上模拟系统负载

Les administrateurs système doivent souvent explorer l'impact sur les performances des applications sous différentes charges. Cela signifie que la charge doit être créée artificiellement à plusieurs reprises. Bien sûr, vous pouvez le faire avec des outils spécialisés, mais parfois vous ne souhaiterez pas ou ne pourrez pas installer de nouveaux outils.

Chaque distribution Linux est livrée avec des outils permettant de créer des charges de travail. Ils ne sont pas aussi flexibles que les outils spécialisés, mais ils sont facilement disponibles et ne nécessitent aucun apprentissage particulier.

CPU

La commande suivante crée une charge CPU en compressant les données aléatoires et en envoyant le résultat à /dev/null :

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

Si vous souhaitez une charge plus importante ou si le système comporte plusieurs cœurs, compressez et décompressez simplement les données, comme ceci :

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

Appuyez sur CTRL+C pour arrêter le processus.

Utilisation de la mémoire

La commande suivante réduira la quantité totale de mémoire disponible. Pour ce faire, il crée un système de fichiers en mémoire et y écrit des fichiers. Vous pouvez utiliser autant de mémoire que vous le souhaitez, il vous suffit d'y écrire plus de fichiers.

Tout d'abord, créez un point de montage et montez dessus le système de fichiers ramfs :

mkdir z
mount -t ramfs ramfs z/

Deuxième étape, utilisez dd pour créer un fichier dans ce répertoire. Ici, nous créons un fichier de 128 Mo :

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

La taille du fichier peut être modifiée grâce aux opérateurs suivants :

  • bs= taille du bloc. Il peut s'agir de n'importe quel nombre suivi de B (pour les octets), K (pour la Ko), M (pour la Mo) ou G (pour la Go).
  • count= Combien de blocs écrire.
E/S disque

创建磁盘 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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer