Ich habe auf meinen VM-Hosts eine recht ungünstige RAM<->Disk-IO Verteilung (viel RAM für Lesecache aber lahmes RAID-5 beim Schreiben).
Die Presets mit vm.dirty_background_ratio=5 und vm.dirty_ratio=10 führen bei mir dazu, dass der Dirty-Cache binnen sehr kleiner Zeiteinheiten so gross werden (vm.dirty_background_ratio )kann dass er beim gemessenen Plattendurchsatz paar Minuten zum Wegschreiben braucht und damit auch schnell an das Limit von vm.dirty_ratio kommt - dann geht nix mehr.
Mir ist zu spät aufgefallen, dass es auch vm.dirty_bytes und vm_dirty_background_bytes gibt - damit kann man das natürlich eher an dem Platten-IO festmachen als mit diesen relativen Angaben zu irgendwelchem freien RAM.
Jetzt komme ich aber nicht mit der Beschreibung gemäss https://www.kernel.org/doc/Documentation/sysctl/vm.txt klar. Ich habe das Diff in https://lkml.org/lkml/2008/11/23/160 sowie die aktuellen Kernelsourcen gelesen (soweit ich es als Programmierer in anderen Sprachen lesen konnte).
vm.dirty_bytes ist die Schwelle für write-back, wenn ein Prozess mehr als diesen Wert im Dirty hat? (der Prozess stösst sein eigenes Write-Back an?)
vm.dirty_background_bytes ist die Schwelle für write-back wenn alle Prozesse mehr als diesen Wert im Dirty haben?
Ich sehe da eine Menge Race-Conditions und sonstige Schweinereien.
Jemand hier der mir das genauer erklären kann?
Bernd
Cache: dirty_bytes & dirty_background_bytes Erklärung?
- BerndHohmann
- Beiträge: 70
- Registriert: 17.02.2015 23:26:44
- Wohnort: Nidderau
-
Kontaktdaten:
Re: Cache: dirty_bytes & dirty_background_bytes Erklärung?
System?
Ist vielleicht das zugrundeliegende raid5 angeschlagen?
Ungewöhnlicher raid-Adapter/chipssatz?
Anzeichen für Plattenfehler? smart / 'dmesg'.
Speicherfehler, memtest86+
Ideale raid5-Zusammenstellung? (2+1(+spare), 4+1(+spare), 8+1(+spare))
Unbelastete (ohne VM) Performance des host?
'hdparm -tT ...' für die Platten? <-> die raid-mdX?
Die ram-Zuteilung für die VM? dynamisch?
"Echte" VM wie kvm oder virtualbox, xen?
vserver oder docker/lxc? Ausrastende Prozesse in den/einer VM?
Bei kvm gibt es 'cache=xxxx' für die virtuellen Platten,
sind solche Sachen in Verwendung?
Ich denke mir da einiges an Problem- oder Optimierungspotential,
im Zusammenspiel mit Zielsetzung der VM.
Ist halt nur so eine Vermutung von mir, da mir solche Parametermodifikation
ich dem so betriebenen raid dann auch kein Vertrauen schenken möchte.
Ist vielleicht das zugrundeliegende raid5 angeschlagen?
Ungewöhnlicher raid-Adapter/chipssatz?
Anzeichen für Plattenfehler? smart / 'dmesg'.
Speicherfehler, memtest86+
Ideale raid5-Zusammenstellung? (2+1(+spare), 4+1(+spare), 8+1(+spare))
Unbelastete (ohne VM) Performance des host?
'hdparm -tT ...' für die Platten? <-> die raid-mdX?
Im default ist freies ram Plattencache.(viel RAM für Lesecache aber lahmes RAID-5 beim Schreiben)
Die ram-Zuteilung für die VM? dynamisch?
"Echte" VM wie kvm oder virtualbox, xen?
vserver oder docker/lxc? Ausrastende Prozesse in den/einer VM?
Bei kvm gibt es 'cache=xxxx' für die virtuellen Platten,
sind solche Sachen in Verwendung?
Ich denke mir da einiges an Problem- oder Optimierungspotential,
im Zusammenspiel mit Zielsetzung der VM.
Ist halt nur so eine Vermutung von mir, da mir solche Parametermodifikation
für ein funktionierendes raid ziemlich "voodoo" scheinen,* Applying /etc/sysctl.conf ...
vm.dirty_background_ratio = 3
vm.dirty_ratio = 7
kernel.hung_task_panic = 1
kernel.hung_task_timeout_secs = 300
ich dem so betriebenen raid dann auch kein Vertrauen schenken möchte.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
- BerndHohmann
- Beiträge: 70
- Registriert: 17.02.2015 23:26:44
- Wohnort: Nidderau
-
Kontaktdaten:
Re: Cache: dirty_bytes & dirty_background_bytes Erklärung?
Ich hatte eine Frage zu zwei Paramentere gestellt.rendegast hat geschrieben:Ist vielleicht das zugrundeliegende raid5 angeschlagen?
Re: Cache: dirty_bytes & dirty_background_bytes Erklärung?
dirty_background_ratio <->dirty_background_bytes
dirty_ratio <-> dirty_bytes
Wird einer der Werte (valide) gesetzt, so wird die Änderung umgesetzt und der "counterpart"-Wert mit 0 ausgelesen:
Wie wäre es damit?
http://www.sysxperts.com/home/announce/ ... roundratio
und
https://lonesysadmin.net/2013/12/22/bet ... rty_ratio/
dirty_ratio <-> dirty_bytes
Wird einer der Werte (valide) gesetzt, so wird die Änderung umgesetzt und der "counterpart"-Wert mit 0 ausgelesen:
Wie wäre es damit?
http://www.sysxperts.com/home/announce/ ... roundratio
und
https://lonesysadmin.net/2013/12/22/bet ... rty_ratio/
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")