SMB streaming flutet den Arbeitspeicher des Server - warum?
Wenn ich große Videodateien vom Server kopiere - kein Problem... Wenn ich sie direkt vom Server mit einem Mediaplayer abspiele, läuft der RAM des Servers über.
Ich weiß nicht woran das liegt. Die Multimediaklassenplanung hab ich mal deaktivert, aber das brachte nichts. Ich habe auf meinem Server einige HD-Videos liegen, die von dort auch gestreamt werden sollen, aber sobald man nicht kopiert, sondern streamt läuft der RAM sofort voll, der Server hängt und nix geht mehr.
Jemand 'ne Ahnung warum?
Ich weiß nicht woran das liegt. Die Multimediaklassenplanung hab ich mal deaktivert, aber das brachte nichts. Ich habe auf meinem Server einige HD-Videos liegen, die von dort auch gestreamt werden sollen, aber sobald man nicht kopiert, sondern streamt läuft der RAM sofort voll, der Server hängt und nix geht mehr.
Jemand 'ne Ahnung warum?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136414
Url: https://administrator.de/contentid/136414
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
12 Kommentare
Neuester Kommentar
Es scheint unter gewissen Umständen ein Memory Leak auf Server2008 aufzutreten. Deaktiviere bitte SMB2 und versuche es erneut.
Hier testet jemand dieses Verhalten beim Kopieren. Ich habe das mal nachgestellt, bei mir läuft der Server allerdings ohne Probleme weiter (8GB RAM) wenn ich 4.5GB Files abspiele. Trotzdem steigt die Speichernutzung analog der Streamposition innerhalb der Datei an.
Nach deaktivierung von SMB2 war dieses Verhalten weg.
Memory Leak
Deaktivierung SMB2 an Server 2008 (siehe Kommentare)
Hier testet jemand dieses Verhalten beim Kopieren. Ich habe das mal nachgestellt, bei mir läuft der Server allerdings ohne Probleme weiter (8GB RAM) wenn ich 4.5GB Files abspiele. Trotzdem steigt die Speichernutzung analog der Streamposition innerhalb der Datei an.
Nach deaktivierung von SMB2 war dieses Verhalten weg.
Memory Leak
Deaktivierung SMB2 an Server 2008 (siehe Kommentare)
Nicht wirklich. Bin auch nur aufgrund eigener Tests auf die Ursache gekommen. Sowas prüfe ich meistens selbst, da ich auch einige 2k8 Server im Einsatz habe. Ich habe inzwischen noch etwas getestet und dummerweise passiert das auch, wenn man Dateien größer 3.5GB kopiert. Hat der Server weniger RAM als die Datei groß ist, hängt sich der Server fast auf.
Ja, vermute ich auch. Dummerweise zeigt mein Debugger nicht was da genau passiert. Früher hat Windows die Datei mit Offset geöffnet, X bytes in den Filebuffer geladen und an den Client gesendet. Diesmal scheint er die Datei komplett im Cache oder Speicher zu halten. Eventuell gibt es da irgendwo eine Möglichkeit die Art des lesens zu beeinflussen.
Lese xx Bytes, offset0 in den Buffer
Sende Buffer an Client (xx IP Pakete)
lese xx Bytes, offset yy in den Buffer
sende buffer an Client
Das hatte den Nachteil, dass Windows mit sehr vielen Clients die die gleiche Datei angefordert haben, ziemlich viel Platten-IO verursacht hat. Eventuell hält er jetzt alles im Cache was zu einer Datei gehört. Vermutung ist jetzt, das der Cache erst geleert wird, wenn die IO Operation abgeschlossen ist. Das würde zu genau diesem Verhalten führen, weil diese Cache-Daten nicht wieder in den Swap ausgelagert werden können und auch nicht geflusht werden können. Irgendwann ist eben der Speicher voll. Habe inzwischen einen Server2008r2 zum Absturz gebracht, indem ich 4 10 GB große Dateien.
Lese xx Bytes, offset0 in den Buffer
Sende Buffer an Client (xx IP Pakete)
lese xx Bytes, offset yy in den Buffer
sende buffer an Client
Das hatte den Nachteil, dass Windows mit sehr vielen Clients die die gleiche Datei angefordert haben, ziemlich viel Platten-IO verursacht hat. Eventuell hält er jetzt alles im Cache was zu einer Datei gehört. Vermutung ist jetzt, das der Cache erst geleert wird, wenn die IO Operation abgeschlossen ist. Das würde zu genau diesem Verhalten führen, weil diese Cache-Daten nicht wieder in den Swap ausgelagert werden können und auch nicht geflusht werden können. Irgendwann ist eben der Speicher voll. Habe inzwischen einen Server2008r2 zum Absturz gebracht, indem ich 4 10 GB große Dateien.