# Dateiupload größe der /tmp Dateien



## BillaBong (18. Dezember 2008)

Hallo,

ich habe folgendes Problem. Mein Apache läd mir meine Dateien die ich per HTML upload hochlade in das Verzeichnis /tmp. Jetzt wollte ich die Dateigröße dieser Dateien beobachten jedoch ist mir dabei aufgefallen das die Dateigröße sobalt diese angelegt wird schon so Groß wie die Fertige datei ist und man weder mit 


```
wc -c /tmp/datei
```

noch mit 


```
wc -m /tmp/datei
```

noch mit 


```
stat  -c %s /tmp/datei
```

überwachen kann wie die Datei anwächst. Wird der Speicherplatz schon beim anlegen reserviert ? Gibt es eine Möglichkeit das vieleicht doch zu beobachten?


----------



## deepthroat (19. Dezember 2008)

Hi.

Um den Speicher den eine Datei belegt anzuzueigen:


```
du -hs DATEI
```
Gruß


----------



## BillaBong (19. Dezember 2008)

Hallo deepthroat,

erst mal danke für deine Antwort. Aber mit "du" das hatte ich auch schon versucht hatte ich nur vergessen dazu zu machen. Habe mir jetzt aber extra nochmal die man page von du angeschaut und probiert aber mit "du" geht das auch nicht. 

Mir kommt das so vor als würde die Größe des Tempfiles schon beim anlegen festgelegt. 

Also lade ich eine Dateihoch die 40 MB groß ist dann ist die sobald die im Tempverzeichnis erscheint schon 40 MB groß dabei müsste die doch  bei 0 anfangen und dann immer größer werden. Hat da jemand erfahrung mit ?


----------



## deepthroat (19. Dezember 2008)

BillaBong hat gesagt.:


> Also lade ich eine Dateihoch die 40 MB groß ist dann ist die sobald die im Tempverzeichnis erscheint schon 40 MB groß dabei müsste die doch  bei 0 anfangen und dann immer größer werden.


Nein, das ist nicht unbedingt der Fall. Es kommt drauf an, was der Apache da macht. Üblich ist es die Datei bereits mit der endgültigen Größe anzulegen, aber falls das Dateisystem "Sparse files" unterstützt und die Datei zuerst mit Nullbytes gefüllt ist belegt die Datei keinen Speicher auf der Festplatte. 

Was für eine Dateisystem wird denn in /tmp verwendet?

Gruß


----------



## BillaBong (19. Dezember 2008)

/tmp liegt auf einer Festplatte auf der als Dateisystem ext3 verwendet wird. Ich habe gerade gelesen das ext3 "Sparse Files" unterstützt. Nehmen wir mal an der Apache schreibt die Temp files als "Sparse Files" wäre es dann möglich zu ermitteln wieviel das System von der Orginal-Datei schon in das "Sparse File" geschrieben wurde ?


----------



## deepthroat (19. Dezember 2008)

BillaBong hat gesagt.:


> /tmp liegt auf einer Festplatte auf der als Dateisystem ext3 verwendet wird. Ich habe gerade gelesen das ext3 "Sparse Files" unterstützt. Nehmen wir mal an der Apache schreibt die Temp files als "Sparse Files" wäre es dann möglich zu ermitteln wieviel das System von der Orginal-Datei schon in das "Sparse File" geschrieben wurde ?


Ja. Mit "du".

Gruß


----------



## BillaBong (19. Dezember 2008)

@deepthroat erst mal danke für deine Gedult. :-D

also ich habe auf Wikipedia mal folgendes gefunden :

http://de.wikipedia.org/wiki/Sparse-Datei

und habe mit 


```
du -sb --apparent-size "testfile"

// und 

du -sb "testfile"
```

mal versucht die Dateigröße zu ermitteln. Leider ohne erfolg aus diesem Grund vermute ich das diese Tempfile doch keine "Sparse-Datei" ist. Nach ein bisschen Googlen bin ich auf folgende Seite gestoßen :

http://iws.cs.uni-magdeburg.de/~elkner/wdok/zope-findings.txt

und hier fand ich folgenden Auszug



> - Serverseitiger Cache: Der Begriff Cache taucht sicherheitshalber gar nicht
> erst in der Dokumentation auf (dagegen der Begriff object Live time),
> allerdings enthaelt die Konfiguration-Datei, die beim Anlegen einer
> Zope-Instanz generiert wird, ein undokumentiertes Beispiel - Parameter:
> ...



wie das jetzt der Apache handelt weiss ich nicht genau.


----------



## BillaBong (20. Dezember 2008)

Hat keine ne Idee wie ich da Weiterkommen könnte ?


----------

