Ich verwende Debian 8.0 x64 mit 72 GB RAM und 4 Laufwerken, die als Software-RAID 0 konfiguriert sind.
Linux s1 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (24.05.2015) x86_64 GNU/Linux
Ich habe versucht, schmutzige Seiten vor dem eigentlichen Schreiben auf 2 GB Cache einzustellen. Ich habe auch versucht, die Einstellungen „dirty_ratio“ und „dirty_background_ratio“ so einzustellen, dass 50 % des RAM verwendet werden, aber das hat auch nicht funktioniert. Der pdflush-Daemon sollte jede Minute starten und die Ablaufzeit für schmutzige Seiten wurde auf 10 Minuten eingestellt.
Ich habe die Festplatten-E/A mit „iotop“ geprüft und es zeigte eine hohe Schreibaktivität auf der Festplatte. Auch „cat /proc/meminfo“ zeigte, dass der „Dirty“-Wert kleiner wird (wahrscheinlich aufgrund des Schreibens). Vor der Prüfung habe ich „sync“ und „drop_caches“ ausgeführt. Ich habe es mit dem Befehl „dd“ getestet und eine 1 GB große Datei mit Nullen geschrieben.
- Hier sind die Einstellungen:
echo 0 > /proc/sys/vm/dirty_background_ratio
echo 2147483648 > /proc/sys/vm/dirty_background_bytes
echo 0 > /proc/sys/vm/dirty_ratio
echo 2147483648 > /proc/sys/vm/dirty_bytes
echo 6000 > /proc/sys/vm/dirty_writeback_centisecs
echo 30000 > /proc/sys/vm/dirty_expire_centisecs
- Montageoptionen:
/dev/md0 auf /test Typ ext4 (rw,noatime,nodiratime,nobarrier,stripe=512)
Vorschläge?
Antwort1
Versuchen Sie, md/stripe_cache_size hier zu erhöhen Datei, die Sie erstellen müssen
#/etc/udev/rules.d/83-md-stripe-cache.rules
KERNEL=="md*", ACTION=="add", TEST=="md/stripe_cache_size", ATTR{md/stripe_cache_size}="8192"
Bei mir hat es auf Raid-6 funktioniert
Und ich schlage vor, dass Sie das Dirty-Verhältnis reduzieren, da es bei mir auf dem x64-System Probleme verursacht hat. Ich verwende diese Einstellungen
Hinzufügen zu /etc/sysctl.conf
vm.dirty_bytes = 16777216 #16Mb
vm.dirty_background_bytes = 835584 #mb
Antwort2
Verwenden Sie es nicht dd
für diesen Test. Verwenden Sie andere Befehle wie cp
und Sie werden sehen, dass Ihr Schreibcache einwandfrei funktioniert.