5

Linux: Große Dateien schnell erstellen -> truncate

Posted by Thorsten on 14. April 2015 in Allgemein, bash, linux, Ubuntu, UPlanet |

Bisher habe ich für das erstellen von neuen (leeren) Dateien immer dd benutzt. Z.b. zum erstellen einer schnellen SWAPDATEI mit 5 GB ein:

# dd if=/dev/zero of=/tmp/SWAPDATEI_test bs=1024000000 count=5

Damit kann man gerade im SAP Zusammenhang herausfinden ob die Fehlermeldung in der Applikation etwas mit dem fehlenden Speicher zu tun hat. Falls SWAP das Problem ist kann man sich immernoch eine SWAP Partition sauber bauen.

Gerade bei großen Dateien in diesem Umfeld kann das aber eine Weile dauern. Hier hat mich ein Teilnehmer auf „truncate“ aufmerksam gemacht.

# truncate -s 100g /tmp/SWAPDATEI

Der Befehl truncate erstellt sofort eine Datei mit angegebener Größe, hier z.b. 100 GB. Sehr interessant.

Danke @Nicolai für den Tipp! 🙂

Schlagwörter: , , , ,

5 Comments

  • Bene sagt:

    Das geht auch mit dd:

    $ time dd if=/dev/zero of=/tmp/test bs=1M count=1 seek=1M
    1+0 records in
    1+0 records out
    1048576 bytes (1.0 MB) copied, 0.00274922 s, 381 MB/s

    real 0m0.005s
    user 0m0.000s
    sys 0m0.004s

    $ ls -alh /tmp/test
    -rw-r–r– 1 bene bene 1.1T Apr 15 16:44 /tmp/test

  • Thorsten sagt:

    Danke dir Bene, kannte ich so noch nicht.

  • Bene_blamer sagt:

    Autsch, ich weiß ja nicht so Recht. Aber bei soviel tollen Zertifizierung, so wenig wissen über Linux Grundlagen …
    Bene hat dich ganz schön bloß gestellt und du merkst es nicht mal.
    Ich gebe dir mal so unter RHCE Spezies einen Tipp, wie passt die 1.1 Terrabyte Datei von Bene ins /tmp Verzeichnis, welches unter Garantie nicht so viel Platz hat?
    Ich erwarte nicht das du meinen Kommentar veröffentlichst, aber das du den Quatsch in deinem Beitrag korrigierst oder löschst. Sonst fallen noch ein paar „Senior“ DevOps Hipsterhelden darauf rein.
    Ich bin gemein und ein Arsch, aber ich bin auch der Einäugige unter den Helden.

  • Thorsten sagt:

    Ich habe mich bedankt, da ich ich die Option „seek“ bei dd so noch nicht kannte. Die Anzahl von diversen Zertifizierungen ist dabei aus meiner Sicht völlig irrelevant.
    Sich dann als Troll zu outen ohne seinen richtigen Namen zu hinterlegen wenn man Mist von sich gibt ist dann wohl eher deine Spezialität.

    Von RHCE Spezi zu RHCE Spezi, nur unter uns zwei: Gib mal Bene´s Befehl bei deinem Linux System (ohne 1 TB Platz in /tmp) ein. Einfach mal ausprobieren bevor man Quatsch unter Beiträge von anderen schreibt.

  • vorsicht, truncate erzeugt ein Sparse-File, welches keinen Plattenplatz belegt. Die Datei ist zwar 100G groß, aber mit df stellt man schnell fest daß der Plattenplatz nicht weniger wird.
    Nutze # fallocate -l 100G filename stattdessen, und es wird auch Plattenplatz belegt.
    Was ist ein Sparse-File: https://de.wikipedia.org/wiki/Sparse-Datei

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Copyright © 2009-2024 linux-voodoo.de All rights reserved.
This site is using the Desk Mess Mirrored theme, v2.4, from BuyNowShop.com.