Jump to content

Sinnvolle Nutzung der Hardwareressourcen


Meannekes

Recommended Posts

Moin Moin,

 

ich bin vor kurzem sehr günstig an eine Server Kombo gekommen (Supermirco X9SRL-F, Xeon E5-2695 v2 12Core+HT, 128GB DDR3 ECC Ram 8x16GB Riegel).

Bei der Menge an Ram kam mir direkt Truenas Core(wegen ZFS) in den Kopf um die Menge an Ram gut zu nutzen.

Von dem Plan bin ich schnell abgekommen, nachdem meine Ironwolf 6TB einfach nicht in den Standby gingen, wobei 4TB Ironwolf & 6TB Ironwolf Pro dies ohne Probleme machten. (Die HDD´s sind ausschließlich für meine Filme da, alles andere ist auf SSD´s.. somit ist es quatsch die HDD´s durchgehen laufen zu lassen, wenn nur alle paar Tage/Wochen mal ein Film angeschaut wird, von Filmmarathon im Urlaub mal abgesehen :D )

Also unRaid installiert und alle Platten gehen prima in den Standby, dafür liegt mein Ramverbrauch nur bei 1-2 Prozent..

Die Ramnutzung (vm.dirty_ratio & vm.dirty_background_ratio) habe ich schon stark erhöht, jedoch hat dies nichts gebracht.

 

Daher Frage ich mich wie ich den Ram Sinnvoll nutzen kann, da für mich leerer Ram verschwendeter Ram ist.

Bzw. wie ich unRaid optimiere mehr von dem Ram zu nutzen.

 

edit: Bitte nicht ZFS auf unRaid vorschlagen, ich mag solche Plugins nicht, unRaid soll so laufen wie konzipiert, zumal da was futsch gehen kann wenn ein OS Update noch nicht vom Plugin supported wird (ich bin immer gerne direkt auf der neuesten Version)

 

 

Edited by Meannekes
Link to comment

...hast Du mal gemessen, was das Ding im idle an Strom zioeht? War ein Balkonkraftweg dabei, im Set? ;-)

 

53 minutes ago, Meannekes said:

Die Ramnutzung (vm.dirty_ratio & vm.dirty_background_ratio) habe ich schon stark erhöht, jedoch hat dies nichts gebracht.

...wie meinst Du das? Das wird im Dashboard ja nicht notwendigerweise als "benutzt" angezeigt.....wenn Da nix benutzt wird, muss im Cache auch nix sein.

 

Du könntest einen Ram Disk nutzen, dann ist sicher, dass der RAM verbraucht wird. Aber dafür sind 128GB eher zu wenig.

 

Edit: ...oder wenn Strom keine Rolle spielt, lass noch nen Folding-at-home Docker laufen....da tust Du noch was Gutes...dem Docker dann die RAM-Disk geben.

Edited by Ford Prefect
Link to comment

Ja :) 60Watt. (mein i5 10400 System verbraucht im Vergleich 40Watt)

 

ich habe meine Daten vom Backupserver auf diesen unRaid Server gezogen. nur füllt sich der Ram nicht. 20 oder 30% Schreibcache ist ja das eine, aber 80% des freien Ram müssten als Lesecache genutzt werden.

Vorhin erst hier im Forum gelesen, wenn der Schreibcache auf die Platte geschrieben wurde, bleiben die Daten als Lesecache im Ram. bei zig Terrabyte an Daten sehe ich nichts im Lesecache.

edit: gefunden von @mgutt

 

 

Ich möchte den Cache einfach sinnvoll nutzen, Lese/Schreibcache, wie es Truenas auch macht als Beispiel.

Edited by Meannekes
Link to comment

Nutzung von ungenutztem RAM für Verzeichnisstrukturen und Dateidetails bzw. -fragmenten macht Linux unter der Haube - und das sehr gut. In dem Sinne gibt es aus Linux Sicht kein ungenutztes RAM. Was Du nicht nutzt schnappt sich Linux und pagt lustig damit rum.

 

Die paar GB sind wirklich nicht die Rede wert um damit etwas Zusätzliches anzufangen. Du kannst die tmp Deiner Container darauf umbiegen oder gleich ganze appdata Inhalte. Dann musst Du Dich aber selbst um das Synchronisieren kümmern.

 

Mit RAM Disks, etc. habe ich seit dem letzten Jahrhundert nicht gearbeitet, da das Standard Ressourcen Handling einfach nur noch schwer zu toppen ist. Aber damals gab es auch RAM Kompressoren ...

 

Linux und deren Ableger funktionieren am besten wenn wir Laien nicht daran rumfummeln. Ist so als pappst Du einen Spoiler an ein Neufahrzeug, welches während der Entwicklung tagelang im Windkanal war ...

 

Edited by hawihoney
Link to comment

Wäre schön wenn mein Ram vom System automatisch verwaltet wird, aber wie gesagt merke ich nichts davon. Mal vom der Anzeige in der Web Gui abgesehen.

ich kopiere Daten auf das System, die müssten dann theoretisch auch im Lesecache drin sein. sind sie aber nicht, das merkt man am Zugriff auf die Platten.

Link to comment
1 hour ago, Meannekes said:

nur füllt sich der Ram nicht. 20 oder 30% Schreibcache ist ja das eine, aber 80% des freien Ram müssten als Lesecache genutzt werden

Der als Cache genutzte RAM wird von unRAID nicht im Dashboard angezeigt, weil der Cache keinen RAM reserviert und dort nur reservierter RAM zu sehen ist. Du musst "free -h" im Terminal ausführen um den Cache zu sehen. Der steht aber quasi durchgehend auf 100%. Siehe auch:

https://www.linuxatemyram.com/

Link to comment
4 minutes ago, Meannekes said:

ich kopiere Daten auf das System, die müssten dann theoretisch auch im Lesecache drin sein. sind sie aber nicht, das merkt man am Zugriff auf die Platten.

Wie groß ist der Schreibcache, wie groß die Datei und wurden nach dem Upload der Datei noch weitere Dateien auf den Server hochgeladen oder laufen parallel noch Anwendungen, die den RAM beschreiben könnten?

 

Wenn ich zb meine komplette Filmsammlung mit dem Skript in den RAM pushe:

 

Und danach rsync ausführe um ein Backup zu starten, dann ist mein RAM danach komplett überschrieben. Linux entscheidet was wichtiger ist und da der RAM nicht reserviert wird, darf er jederzeit überschrieben werden.

 

Link to comment

ich hab einfach mal eine 50GB Iso Film Iso und paar Betriebssyswtem Isos auf den Serfver via SMB kopiert.

keine dieser Dateien (das waren die einzigen zu dem Zeitpunkt) war im Lesecache, da instand HDD Aktivität beim Lesen zu sehen war.

Davon ab lief nichts auf dem Server, der ist praktisch noch Blank.

 

Der Schreibcache sollte ja Standard 80% des Freien Rams sein, also 1% Standf auf belegt von den 128GB laut Gui, da sollte zumindest Irgendwas im Lesecache liegen. (80% von runden wir mal runter auf 100GB..)

Link to comment
9 minutes ago, MAM59 said:

Was bringt Dich auf die Idee, geschriebene Daten landen automatisch im Lesecache???

(ist zwar nachvollziehbar zu denken "wenn sie eh gerade im Speicher sind...", aber das entspricht nicht der Realität).

Du mußt schon LESEN, um sie dort einzulagern.

@mgutt mit seinem Post in dem oben von mir verlinkten Thread

Edited by Meannekes
Link to comment

Ich glaub, ihr redet aneinander vorbei.

JA, Linux hat einen Cache, aber davon kriegst Du gefühlt nix mit. Ich tendiere eher dazu, ihn zu vergessen. Schreibgeschwindigkeit kann man durch einen ordentlichen NVMe Cache pushen (wenn man die richtige NVMe SSD hat, die auch lange sustained writes abkann), beim Lesen genügt man sich mit der Speed, die die Platten liefern.

Das RAM Dingen ist zwar irgendwo vorhanden, aber doch eher ein Placebo.

(jaja, @MGUTT wird wiedersprechen, aber messtechnisch hat er verloren. Da gibt es manchmal kleine Pieks für ein paar Millisekunden, dann wars das)

 

Ich nehme an, es liegt an der Größe der Dateien. Für Linux "lohnt" es sich nicht, einer zig GB ISO nachzuweinen, das Ram wird schnell für irgendwas anderes weggegeben. Und kaum ist irgendwo nur EINE PAGE umgewidmet, ist die ganze Datei unvalidiert und fällt aus dem Cache.

 

Womit er allerdings wirklich Recht hat: der Linux Cache wird im Dashboard niemals angezeigt. Er ist immer "das restliche freie RAM".

 

Mit den beiden bekannten Tweaks kannst Du festlegen, ab welcher Belegung ein Schreiben auf die Platte beginnt und ab wann sie erzwungen wird. Setz sie nicht zu hoch, sonst kommt es zu hässlichen Blockaden und das ganze System stottert.

Am besten den Startwert unter 10% und das Maximum so auf 20-30% legen.

 

Edited by MAM59
Link to comment

Ich verstehe was du meinst @MAM59, aber ich habe es schon in anderen Systemen funktionieren gesehen und bei unRaid eben garnicht, und das wundert mich. (auch mit sagen wir mal LinuxXY Distro Iso mit 2-3gig, da kommt alles direkt von der Platte in unRaid

Und wenn ich das optimieren kann, dann will ich dies auch

Edited by Meannekes
Link to comment

ja, ich weis, andere haben einen extra Cache und entsprechendes Management. UNRAID eben nicht.

Das muss gar nicht böse sein, es verhindert z.b. dass Leute ohne entsprechende Hardware (USV usw) zuviel Daten einfach im RAM lassen und sich nach einem Stromausfall darüber beschweren, dass sie weg sind.

Und das verhindert auch das ekelig lange Warten, wenn ein SMB Klient darauf besteht, eine positive Schreibquittung zu erhalten (flush data, wartet, bis alles auf der Platte ist).

 

Für Dich und mich (die mit den großen Filmen 😁) ist der Lesecache doch völlig unnötig. Man guckt einen Film, und dabei wird eh nie die maximale Geschwindigkeit erfordert. Manche Streamen (so mit bis zu 50Mbit/s) oder manche spielen von SMB ab (auch nicht viel schneller), die Plattengeschwindigkeit reicht immer aus.

 

Wichtig für mich ist nur der ordentliche Schreibcache, ich möchte schon neue Filme mit meinem 40Gb/s LAN "loswerden". Wie lange die später wirklich brauchen um per Mover auf die Platte zu kommen, ist mir egal.

 

Link to comment

Mein Schreibcache funktioniert ja auch nicht :)

WindowsVM gestartet mit NVME SSD, Rip auf diese SSD (BDMV) und dann mit imgburn zur ISO gemacht und 50-100GB Iso auf die HDD kopieren.

Schreibcache habe ich schon erhöht, trotzdem schreibe ich nur mit maximal was die HDD hergibt (200+-).

Schreibcache des Ram?! Fehlanzeige, ich hab die Zeit wielanfge es drin bleiben usw. auch schon erhöht. Schreibcache Größe auf 90% erhöht. Ergebnis.. Nada..

Link to comment
2 minutes ago, MAM59 said:

Für Dich und mich (die mit den großen Filmen 😁) ist der Lesecache doch völlig unnötig.

Dann stell ihn mal auf Null und du wirst dich wundern wie lahm dein Server wird. Jede Applikation, die Daten schreibt, schreibt diese in den RAM ohne dies zu wissen. Und ja, wenn der Strom ausfällt und diese noch nicht auf den Datenträger geschrieben wurden (nach 30 Sekunden), dann sind sie weg. unRAID hat da keine angepasste Einstellung. Aus dem Grund auch meine Warnung:

https://forums.unraid.net/topic/99393-häufig-gestellte-fragen/?do=findComment&comment=959302

 

Andersherum werden alle statischen Dateien wie zb Coverbilder in Plex im RAM vorgehalten. Der Lesecache entlastet daher massiv den Datenträger und erhöht auch damit die Schreibperformance.

 

1 minute ago, Meannekes said:

WindowsVM gestartet mit NVME SSD, Rip auf diese SSD (BDMV) und dann mit imgburn zur ISO gemacht und 50-100GB Iso auf die HDD kopieren.

Schreibcache habe ich schon erhöht, trotzdem schreibe ich nur mit maximal was die HDD hergibt (200+-).

Du schreibst in dem Fall über virtio? Eventuell verhindert der virtio Treiber, dass der Schreibcache genutzt wird.

 

Welches Protokoll nutzt du dabei? SMB?

Link to comment
23 minutes ago, Meannekes said:

Da ich es mit meinem Notebook etc nicht teste brauche (1Gig Netzwerk.. da sind die Platten schneller)

Du könntest aber zb nach Upload einer 1GB Datei über den Notebook, dann spindown und dann wieder Download, sehen, dass die HDD nicht anspringt.

 

Aber wie gesagt ist die Frage was bei virtio anders ist. 

 

Was ich schon mal gefunden habe ist die Cache Einstellung für die vdisk:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_tuning_and_optimization_guide/sect-virtualization_tuning_optimization_guide-blockio-caching

 

https://serverfault.com/questions/425607/kvm-guest-io-is-much-slower-than-host-io-is-that-normal

 

Aber die ist ja nicht unser Problem. Aber vielleicht lohnt ein Test?!

 

Benutzt du eigentlich virtio oder virtio-net? Siehe auch:

https://forums.unraid.net/topic/101283-what-is-the-difference-between-virtio-and-virtio-net/?do=findComment&comment=1020696

 

 

 

Link to comment

@mgutt

Die SSD wird komplett durchgereicht. also kein Virtio

 

Ich nutze Virtio meine ich mich zu erinnern (Ich ändere es von der Standardauswahl nicht), kann es aber gerade nicht prüfen, da ich auf Arbeit bin.

Das Board hat auch noch ein 2. NIC den ich durchreichen kann, dann noch ne Bridge und gut. Falls damit auch was ausgeschlossen werden kann.

 

@MAM59

hier sieht man wie direkt übertragene Daten im Ram bleiben und zügig somit gelesen werden können (von Minute 7:00 bis 8:30)

dies kann ich nicht reproduzieren wie im Video.

Edited by Meannekes
Link to comment

Beim Schreibcache kann man sich gut selber die Karten legen ("wer misst, misst Mist..").

Den SSD Cache wirft UNRAID nur FÜR NEUE DATEIEN an. Wobei unklar bleibt (weil vom verwendeten Client abhängig) ob ÜBERSCHREIBEN dazugehört.

 

Um es richtig zu testen, musst Du vor der Kopie die alte Datei auf dem Server löschen und noch zur Sicherheit 30s warten.

Oder halt vor jedem Versuch die Datei etwas umbenennen, so dass sie nicht mehr als die Alte erkannt wird.

 

Also ich krieg hier schon konstante Schreibraten von 1,1Gb/s ( bei 10GBE LAN) und 2,8Gb/s ( bei 40GBE LAN, die Cache NVMe kann wohl nicht schneller) hin.

 

Link to comment
58 minutes ago, Meannekes said:

hier sieht man wie direkt übertragene Daten im Ram bleiben und zügig somit gelesen werden können (von Minute 7:00 bis 8:30)

dies kann ich nicht reproduzieren wie im Video.

Das hab ich so auch noch nie in freier Wildbahn gesehen. Ist wohl ein frommer Wunsch. Aber, wie gesagt, interessiert mich nicht, nur Schreiben ist wichtig.

 

Link to comment
27 minutes ago, MAM59 said:

Beim Schreibcache kann man sich gut selber die Karten legen ("wer misst, misst Mist..").

Den SSD Cache wirft UNRAID nur FÜR NEUE DATEIEN an. Wobei unklar bleibt (weil vom verwendeten Client abhängig) ob ÜBERSCHREIBEN dazugehört.

 

Um es richtig zu testen, musst Du vor der Kopie die alte Datei auf dem Server löschen und noch zur Sicherheit 30s warten.

Oder halt vor jedem Versuch die Datei etwas umbenennen, so dass sie nicht mehr als die Alte erkannt wird.

 

Also ich krieg hier schon konstante Schreibraten von 1,1Gb/s ( bei 10GBE LAN) und 2,8Gb/s ( bei 40GBE LAN, die Cache NVMe kann wohl nicht schneller) hin.

 

ich habe es mit neuen Dateien getestet, jedesmal andere. Hab genügend TB die rüber müssen auf die Maschine aber so erstmal fürs testen herhalten können.

Ein SSD Cache möchte ich nicht nutzen, da der bei mir ziemlich schnell "durchgelutscht" ist. Außer ich kaufe mir ne Sun F80 mit 22.000TBW statt Beispielweise Samsung 970 Evo Plus 1TB mit 600TBW..(Meine Passtrough NVME für die Windows VM) 

 

Wenn ich das nicht zum laufen bekomme, kommt mir nur noch 116GB Ram an die Windows VM, 100GB davon als Ramdisk fürs Rippen und dann mit imgburn direkt auf die Platten oder so.

 

Der Ram soll einfach sinnvoll genutzt werden, und wenn ich ihn so wie jetzt out of the box nicht viel tut.. muss ne Lösung ran, egal wie rum.

 

Edited by Meannekes
Link to comment
1 hour ago, Meannekes said:

Ein SSD Cache möchte ich nicht nutzen

ach soo. Na dann kannste aufhören und UNRAID vergessen.

Ohne flotten SSD Cache passiert gar nix. Und ne 980 Pro sollte es schon sein. Das "Durchlutschen" kann man ignorieren, wenn man öfters mal den TRIM Job laufen lässt (der Cache wird ja üblicherweise nachts leergeräumt und gibt die Blöcke wieder frei).

 

1 hour ago, Meannekes said:

Wenn ich das nicht zum laufen bekomme, kommt mir nur noch 116GB Ram an die Windows VM, 100GB davon als Ramdisk fürs Rippen und dann mit imgburn direkt auf die Platten oder so.

 

Etwas drastisch, aber da wirst Du dann wohl enden (wobei, wer braucht 100GB zum Rippen???? die vorhandenen Quellen sind doch viel zu lahm für sowas)

 

Link to comment
7 hours ago, Meannekes said:

ch nutze Virtio meine ich mich zu erinnern (Ich ändere es von der Standardauswahl nicht)

Der Standard ist "virtio-net". Der Netzwerk-Adapter is langsamer als "virtio". Eventuell hat das ja auch einen Einfluss auf das RAM-Caching.

 

6 hours ago, Meannekes said:

Ein SSD Cache möchte ich nicht nutzen

...

Der Ram soll einfach sinnvoll genutzt werden, und wenn ich ihn so wie jetzt out of the box nicht viel tut.. muss ne Lösung ran, egal wie rum.

Als letztes Mittel könnte man noch eine RAM-Disk erstellen, aber erstmal würde ich prüfen ob es nicht auch "automatisch" geht, wie es ja normalerweise der Fall sein sollte.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...