dWing — die Welt ist nicht gerecht

sign in

Truecrypt und pdflush

Es fällt mir immer wieder auf wenn ich unter Linux mit Truecrypt arbeite, das es mein gesamtes System verlangsamt oder zum Teil sogar unbenutzbar macht.

Wenn dies auftritt sehe ich im Systemmonitor einen Haufen pdflush Prozesse. pdflush ist ein Kernel Prozess, der dafür sorgt dass "dirty" pages geschrieben werden.


Ich vermute dass folgendes passiert: Truecrypt erstellt eine memory-mapped Datei, wodurch dieser Datei einige Pages zugeordnet werden. Es schreibt dann in diese pages neuen Inhalt rein. Dadurch wird die noch nicht existierende Page auf der Festplatte und die Im Hauptspeicher unsynchron, "dirty". Sie muss also demnächst auf die Festplatte geschrieben werden um wieder synchron zu sein. Dieses "flush" kann nach gewissen Kriterien erfolgen. Entweder in gewissen Zeitabständen (vgl. /proc/sys/vm/dirty_writeback_centisecs = 500 = alle 5 Sekunden) oder eben wenn der Speicher voll ist. Ich denke das bei mir vor allem die zweite Regel zieht. Der Speicher ist voll mit unsynchronen cached pages. Nun muss jedes einzelne Programm, welches neuen Speicher verwenden will darauf warten bis genügend pages geschrieben worden sind und somit genug Speicher frei ist.

Dadurch kommt es zu einer Wartezeit zwischen dem Moment in dem ich ein Programm anspreche und dem, dass das Programm reagiert. Es muss erst auf die Festplatte warten bis es selbst neuen Speicher verwenden darf.

Zum Teil sind diese Wartezeiten aber dermaßen groß, dass ich sogar ein anderes Problem vermute. Ich vermute das noch andere Truecrypt Prozesse in der Warteschleife sind um auf neuen Speicher schreiben zu dürfen, und diese sind scheinbar dran noch bevor mein Programm, dass tatsächlich echten Speicher haben will, diesen bekommt. Die Wartezeit bis Programme reagieren erhöht sich somit noch mehr.


Ich bin mir nicht sehr sicher, ob ich den Sachverhalt richtig verstanden oder geschildert habe. Ich frage mich allerdings, ob ich den Speicherverbrauch für caches irgendwie regeln kann, so dass Programmen immer ein gewisser Speicher zur Verfügung steht, ohne dass sie darauf warten müssen bis cached pages auf die Festplatte geschrieben werden. Gibt es denn so eine Einstellung?


Comments


Write comment

You need to sign in first.