GNU/Linux >> Tutoriels Linux >  >> Linux

Un moyen de remplir/utiliser instantanément beaucoup d'espace disque ?

Le moyen le plus rapide de créer un fichier dans un système Linux consiste à utiliser fallocate :

fallocate -l 50G file 

De l'homme :

fallocate est utilisé pour manipuler l'espace disque alloué pour un fichier, soit pour le désallouer, soit pour le préallouer.
Pour les systèmes de fichiers qui prennent en charge l'appel système fallocate, la préallocation est effectuée rapidement en allouant des blocs et en les marquant comme non initialisés, ne nécessitant aucune IO vers les blocs de données. C'est beaucoup plus rapide que de créer un fichier en le remplissant de zéros.
Pris en charge pour XFS (depuis Linux 2.6.38), ext4 (depuis Linux 3.0), Btrfs (depuis Linux 3.7) et tmpfs (depuis Linux 3.5).


D'autres alternatives incluent :

  1. pour modifier les seuils d'alarme à quelque chose près ou en dessous de l'utilisation actuelle, ou
  2. pour créer une très petite partition de test avec des inodes, une taille ou d'autres attributs limités.

Pouvoir tester des choses telles que courir dans le pourcentage réservé à la racine, le cas échéant, peut également être utile.


  1. fallocate -l 50G big_file

  2. truncate -s 50G big_file

  3. dd of=bigfile bs=1 seek=50G count=0

Comme ces trois façons peuvent toutes remplir rapidement une partition.

Si vous aimez, utilisez dd , vous pouvez généralement l'essayer avec seek . Définissez simplement seek=file_size_what_you_need et définissez count=0 . Cela indiquera au système qu'il y a un fichier , et sa taille est ce que vous définissez, mais le système ne le créera pas réellement. Et utilisé de cette façon, vous pouvez créer un fichier qui est plus grand que la taille de la partition.

Exemple, sur un ext4 partition avec moins de 3G disponible. Utilisez jj pour créer un fichier 5T qui existe en tant que métadonnées - ne nécessitant pratiquement aucun espace de bloc.

df -h . ; dd of=biggerfile bs=1 seek=5000G count=0 ; ls -log biggerfile ; df -h .

Sortie :

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda9        42G   37G  2.8G  94% /home
0+0 records in
0+0 records out
0 bytes copied, 4.9296e-05 s, 0.0 kB/s
-rw-rw-r-- 1 5368709120000 Jun 29 13:13 biggerfile
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda9        42G   37G  2.8G  94% /home

Linux
  1. Utilisez la commande fallocate pour créer des fichiers de taille spécifique sous Linux

  2. Créer un fichier d'échange Linux

  3. Quelle est la bonne façon d'utiliser inotify ?

  4. Est-il possible d'utiliser / dans un nom de fichier ?

  5. Puis-je utiliser un disque virtualbox pour plusieurs machines ?

Comment créer un fichier sous Linux

Comment créer un fichier Tar Gz

Comment créer ou augmenter l'espace d'échange sous Linux

Comment créer et utiliser un fichier d'échange sous Linux

Comprendre votre espace disque via la commande 'df' sous Linux

Comment créer un fichier d'échange sur un disque ssd avec btrfs