Läuft es mit 1 GB auch ausreichend performant?
Kommt darauf an was man erwartet.
Ein 32bit Betriebssystem sollte 500MB RAM als Minimum haben, ein 64bit System das doppelte.
Für Sharing Services wie SMB z.B. SAMBA oder andere kann man das verdoppeln.
1 GB reicht also für ein 32bit System locker wenns um Stabilität geht.
Anders sieht es aus wenn man Performance betrachtet.
Kopiert man beispielsweise ein Video auf eine leere Platte so liegen die Daten sequentiell an. Schaut ein User sich dann das Video an, werden Daten fast rein sequentiell gelesen. Eine Platte schafft dabei 150-250 MB/s als Hausnummer.
Das andere Extrem sieht nicht so gut aus. Ist die Platte fast voll, werden kleine Datenblöcke geschrieben/gelesen oder arbeiten mehrere Benutzer gleichzeitig, so kann im Worst Case folgendes passieren. Wenn z.B. 4K Datenblöcke gelesen werden sollen, die über der Platte verteilt sind, muss für jeden Block der Kopf neu positioniert werden und dann muss man warten bis der Block unter den Köpfen liegt. Wenn man von 50 iops bei einer langsameren 5400 u/m Platte ausgeht, so liefert die 50 x 4K=200 KB pro Sekunde. Schön sieht man das wenn man einen Atto Benchmark einer Platte macht und die kleineren Blockgrößen betrachtet.
Je nach Workload landet man zwischen den Extremen 200 KB/s und 200 MB/s. Für einen reinen Single User Media-Homeserver wird man im Schnitt wohl bei 20-80 MB/s liegen was meist ausreichend ist. Wäre das z.B. ein Mailserver für mehr Nutzer wäre das Ergebnis wohl unter 2 MB/s und damit katastrophal schlecht. Und genau dafür braucht man RAM, nämlich als Schreibcache um keine kleinen Bläcke zu schreiben sondern Daten im RAM erst mal zu sammeln und als große sequentielle Aktion zu schreiben oder als Lesecache um die Lese-Anfragen zu bedienen (Matadaten und Daten). Will man allein die aktuellen Metadaten im Cache halten (also wo liegen meine Datenblöcke) so muss man ca 1% der aktuellen Datenmenge allein für die Matadaten rechnen um die zu cachen. Dazu kommt der RAM zum Cachen der eigentlichen Daten wobei ein guter Cache wie in ZFS das blockbasiert aufgrund last accessed/ most accessed Regeln macht und nicht filebasiert. Im Ergebnis kann man aber folgendes erreichen.
Das ist mein virtualisierter Mailserver Storage mit 20 GB RAM Lesecache. Wie man sieht bedient der im Schnitt mehr als 80% aller Lesezugriffe aus dem Ramcache und damit praktisch ohne Verzögerung.
Jetzt kann sich jeder heraussuchen, wieviel RAM er braucht und möchte.