PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NFS-Problem (Client beginnt zu swappen)



therealmisterx
24.02.10, 09:30
Guten Morgen.

Folgende Konfiguration:
MacOSX Snow Leopard auf einem MacMini als NFS-Server. Exportiert sind 2 Festplatten (am Mac angebunden über Firewire 800), Verbindung per GigaBit Lan.

Kopiere ich nur mit meinem Laptop (Arch Linux 64Bit, 4GB RAM, 480MB Swap, Daten liegen auf externer USB-Platte) mehrere GB an Daten auf den NFS-Server beginnt der Kopiervorgang ganz normal mit 25MB/s. Ab etwa 1GB übertragenen Daten beginnt die Übertragungsrate stetig einzubrechen und gleichzeitig beginnt Linux den Swap zu füllen, obwohl gerade mal 700MB RAM belegt sind. Dies passiert jedoch anscheinend schrittweise (Übertragung stockt, Swap füllt sich, Übertragung geht weiter)

Der Swap wird auch nach dem Kopiervorgang nicht mehr leer, sondern je mehr ich kopiere, umso voller wird er und irgendwann läuft der Swap voll und das System wird (logischerweise) extrem träge.

Kopiere ich hingegen über Samba (Server wieder der Mac) läuft die Übertragung konstant mit 20MB/s und alles ist wunderbar.

Wie ist dieses Verhalten erklärbar?

grüße

BedriddenTech
26.02.10, 00:51
Durch das NFS-Protokoll selbst. Da ist der Client derjenige, der einen Cache haben darf, und der Server nicht. Der Client füllt also erstmal den RAM, während er parallel mit dem Schreiben über das Netzwerk beginnt. Irgendwann ist der RAM, d.h. der Zwischenspeicher, voll, woraufhin erstmal wieder Platz gemacht werden muß. Die Übertragung stockt also eigentlich nicht, im Gegenteil wird sie sehr gleichmäßig verlaufen, aber das bemerkt man durch den Puffer nicht. Das ist der Grund für dieses Phänomen.

Warum Dein Laptop sich Swap krallt, weiß ich nicht genau. Eigentlich sollte das nicht passieren, d.h. der Cache dürfte nicht so viel Speicher verbrauchen, daß ausgelagert werden muß. Es ist aber die einzige Erklärung, die ich spontan parat habe.

NFSv4 könnte Dir helfen.

HTH.