Mit welchem Befehl erstellen Sie eine leere Datei?
In meinem Fall habe ich den Befehl touch
verwendet, wenn die Dateigröße 0 war, und den Befehl dd
, wenn ich eine Datei einer bestimmten Größe benötigte, wie unten gezeigt.
Abgesehen vom Befehl "dd" habe ich jedoch erfahren, dass es einen Befehl namens "fallocate" gibt, mit dem eine Datei einer bestimmten Größe erstellt werden kann. Daher habe ich die Leistung beider verglichen.
[nkojima@akagi sample_files]$ touch sample.txt
[nkojima@akagi sample_files]$ dd if=/dev/zero of=./sample2.txt bs=1K count=1024
1024+0 Aufzeichnungseingabe
1024+0 Datensatzausgabe
1048576 Bytes(1.0 MB)Kopiert, 0.00580267 Sekunden, 181 MB/Sekunden
[nkojima@akagi sample_files]$ ls -lah
Insgesamt 1.0M
drwxrwxr-x 2 nkojima nkojima 43 21. Juni 12:18 .
drwx------.5 nkojima nkojima 175 21. Juni 12:17 ..
-rw-rw-r--1 nkojima nkojima 0 21. Juni 12:17 sample.txt
-rw-rw-r-- 1 nkojima nkojima 1.0M 21. Juni 12:18 sample2.txt
dd
und fallocate
verwendet, um Dateien unterschiedlicher Größe zu erstellen und ihre Verarbeitungsgeschwindigkeit zu messen.dd
beträgt 1 MB.date
verwendet wurde, um die Verarbeitungszeit wie unten gezeigt zu messen.[root@akagi ~]# date; dd if=/dev/zero of=dd.txt bs=1M count=100; date;
Sonntag, 21. Juni 2020 12:48:28 JST
100+0 Aufzeichnungseingabe
100+0 Datensatzausgabe
104857600 Bytes(105 MB)Kopiert, 0.0362178 Sekunden, 2.9 GB/Sekunden
Sonntag, 21. Juni 2020 12:48:29 JST
[root@akagi ~]# date; fallocate -l 100m ./fallocate.txt; date;
Sonntag, 21. Juni 2020 12:48:52 JST
Sonntag, 21. Juni 2020 12:48:52 JST
dd
benötigt einige Verarbeitungszeit, selbst wenn Sie Hochgeschwindigkeitsspeicher (NVMe-SSD) verwenden. Ich denke, dass ein langsamer Speicher einen größeren Unterschied macht.Dateigröße | Verarbeitungszeit für dd-Befehle(Sekunden) | Verarbeitungszeit des Fallocate-Befehls(Sekunden) |
---|---|---|
100MB | <1 | <1 |
500MB | <1 | <1 |
1GB | 1 | <1 |
2GB | 2 | <1 |
4GB | 4 | <1 |
8GB | 7 | <1 |
16GB | 15 | <1 |
fallocate
anstelle des Befehls dd
verwendet wird.Recommended Posts