Quelle commande utilisez-vous pour créer un fichier vide?
Dans mon cas, j'ai utilisé la commande touch
si la taille du fichier était de 0, et la commande dd
si j'avais besoin d'un fichier d'une certaine taille, comme indiqué ci-dessous.
Cependant, en dehors de la commande dd
, j'ai appris qu'il existe une commande appelée fallocate
pour créer un fichier d'une certaine taille, j'ai donc comparé les performances des deux.
[nkojima@akagi sample_files]$ touch sample.txt
[nkojima@akagi sample_files]$ dd if=/dev/zero of=./sample2.txt bs=1K count=1024
1024+0 Entrée d'enregistrement
1024+0 sortie d'enregistrement
1048576 octets(1.0 MB)Copié, 0.00580267 secondes, 181 Mo/Secondes
[nkojima@akagi sample_files]$ ls -lah
Total 1.0M
drwxrwxr-x 2 nkojima nkojima 43 21 juin 12:18 .
drwx------.5 nkojima nkojima 175 21 juin 12:17 ..
-rw-rw-r--1 nkojima nkojima 0 21 juin 12:17 sample.txt
-rw-rw-r-- 1 nkojima nkojima 1.0M 21 juin 12:18 sample2.txt
dd
et fallocate
pour créer des fichiers de différentes tailles et mesurer leur vitesse de traitement.dd
est de 1 Mo.date
a été utilisée pour mesurer le temps de traitement comme indiqué ci-dessous.[root@akagi ~]# date; dd if=/dev/zero of=dd.txt bs=1M count=100; date;
Dimanche 21 juin 2020 12:48:28 JST
100+0 Entrée d'enregistrement
100+0 sortie d'enregistrement
104857600 octets(105 MB)Copié, 0.0362178 secondes, 2.9 GB/Secondes
Dimanche 21 juin 2020 12:48:29 JST
[root@akagi ~]# date; fallocate -l 100m ./fallocate.txt; date;
Dimanche 21 juin 2020 12:48:52 JST
Dimanche 21 juin 2020 12:48:52 JST
fallocate
était extrêmement rapide.dd
prend un certain temps de traitement même si vous utilisez un stockage haute vitesse (NVMe-SSD), donc je pense qu'un stockage lent fera une plus grande différence.taille du fichier | Temps de traitement de la commande dd(Secondes) | Temps de traitement de la commande fallocate(Secondes) |
---|---|---|
100MB | <1 | <1 |
500MB | <1 | <1 |
1GB | 1 | <1 |
2GB | 2 | <1 |
4GB | 4 | <1 |
8GB | 7 | <1 |
16GB | 15 | <1 |
fallocate
au lieu de la commande dd
.Recommended Posts