Welche Argumente für posix_fadvise () für sequentielles Schreiben von Dateien?
Ich arbeite an einer Anwendung, die sequentiell eine große Datei schreibt (und überhaupt nicht liest), und ich möchte @ verwendposix_fadvise()
, um das Dateisystemverhalten zu optimieren.
Die Funktionsbeschreibung in der Manpage legt nahe, dass die am besten geeignete Strategie @ isPOSIX_FADV_SEQUENTIAL
. Die Beschreibung der Linux-Implementierung bezweifelt jedoch Folgendes:
nter LinPOSIX_FADV_NORMAL
setzt das Readahead-Fenster auf die Standardgröße für das Sicherungsgerät.POSIX_FADV_SEQUENTIAL
verdoppelt diese Größe undPOSIX_FADV_RANDOM
deaktiviert den Datei-Readahead vollständig.
Da ich nur Daten schreibe (möglicherweise auch Dateien überschreibe), erwarte ich kein Readahead. Soll ich dann bei meinem @ bleibPOSIX_FADV_SEQUENTIAL
oder lieber @ verwendPOSIX_FADV_RANDOM
, um es zu deaktivieren?
Wie wäre es mit anderen Optionen wiePOSIX_FADV_NOREUSE
? Oder vielleicht nichtposix_fadvise()
überhaupt für das Schreiben?