Seit einigen Jahren habe ich gelesen, dass es eine gute Idee ist, eine Swap-Partition mit dem doppelten Speicherplatz meines RAM zu erstellen. gilt es noch heute? oder wird das nicht mehr benötigt?
Ich habe einen Server mit 8 GB RAM und muss eine Swap-Partition erstellen. Ich habe mich gefragt, ob 16 GB zu viel sind.
Antworten:
Auf großen Systemen mit 8 GB physischem RAM weisen wir normalerweise 2 GB Swap zu. Dies sind geladene Datenbankserver, auf denen Oracle oder PostgreSQL ausgeführt wird. Ich habe jahrelang noch nie einen Swap-Hit gesehen, selbst unter schwerer Last. Die hohe Last beträgt ungefähr 100 bis 150 Benutzer, die ungefähr 10.000 SQL-Lesevorgänge und möglicherweise 2.500 Schreibvorgänge pro Minute ausführen.
Wir passen auch die Swapiness-Stufe an, um das Swapping zu verhindern, und deaktivieren nicht benötigte Prozesse, von denen wir wissen, dass sie nicht ausgeführt werden müssen. (Benutzerdefinierte Linux-Builds)
Wie Eddie oben sagt, ist 1x physischer RAM eine gute Faustregel für alles unter 4 GB. Ich mache benutzerdefinierte Linux-Builds für ein großes Fortune-500-Unternehmen. Dies sind die Dinge, die wir normalerweise tun, und wir hatten in den letzten 5 Jahren keine Probleme, die ich für sie beraten habe.
Auf größeren Systemen: 64-Bit-Linux mit 32 GB und 64 GB RAM sind dies unsere Oracle-Datenbankserver, und wir behalten normalerweise 2 GB Swap für Dinge bei, wie Eddie oben hervorhebt. Leerlaufprozesse werden abhängig von Ihren Swapiness-Einstellungen zum Swap verschoben.
quelle
Eine scheinbar zeitlose Frage. Die guten Leute bei SlashDot haben das vor einiger Zeit besprochen. Überprüfen Sie, was sie zu sagen hatten:
quelle
Siehe die Antwort Wie viel SWAP-Speicherplatz auf einem Hochspeichersystem? zur Orientierung, obwohl Ihre Frage allgemeiner ist. Die Meinungen dazu sind sehr unterschiedlich, aber im Allgemeinen scheinen Leute mit 1 GB RAM oder mehr entweder ohne Swap oder mit 1xmemory als Swap zu laufen.
Selbst wenn Sie nicht vorhaben, so viel RAM zu verwenden, dass Sie das Austauschen erzwingen, ist es von Vorteil, mindestens 1x Speicher als Auslagerung zu haben: Das Betriebssystem kann einige Dinge austauschen, von denen nicht erwartet wird, dass sie verwendet werden sofort, damit es diesen Speicher stattdessen beispielsweise für Festplatten- oder E / A-Puffer verwenden kann.
quelle
Wenn Sie erwarten, dass Ihr System in den Ruhezustand versetzt und dann erfolgreich fortgesetzt werden kann :-), ist es wahrscheinlich besser, mehr Speicherplatz für die Swap-Partition zuzuweisen als die Menge an physischem RAM
quelle
Mein VPS-Anbieter stellt nicht einmal Swap-Speicherplatz für die Server zur Verfügung, und meiner läuft ohne ihn einwandfrei.
Die meisten Server, die ich täglich bei der Arbeit sehe, sind auch ohne Tausch.
Bearbeiten
Wenn Sie jedoch eine JVM ausführen, stellen Sie sicher , dass Sie aufgrund eines bekannten Problems mit der JVM mindestens so viel Swap-Speicherplatz haben, wie Sie jemals festlegen werden .
-Xmx
Kurz gesagt, wenn die JVM mehr Speicher benötigt, als sie derzeit verwendet (aber immer noch nicht erreicht hat
Xmx
), gilt Folgendes:Dies bedeutet, dass ein
Xmx
fehlgeschlagener Tausch fehlschlagen kann.Um den Fehlerbericht zu zitieren
Ich versuche auf Nummer sicher zu gehen, wenn ich mit JVMs arbeite, und setze Swap auf den gleichen physischen Speicher.
quelle
Angesichts der Geschwindigkeit moderner Festplatten sind große Swaps nur eine Einladung zum Thrashing. Möglicherweise kehren SSDs diesen Trend um, aber mit einer maximalen Übertragungsgeschwindigkeit von 300 MB / s für eine Festplatte wird das Austauschen von 2 bis 4 GB eine Weile dauern.
Früher (z. B. Linux 1.2, i386, SunOS 4.x) wurden möglicherweise 5 bis 15 MB Daemon-Prozesse ausgeführt, und zwar zwischen 4 und 32 MB RAM, sodass Dämonen, die gerade blockiert wurden, auf I / warteten. O könnte ohne wirklichen Leistungseinbruch ausgetauscht werden ... Und sie sollten besser, da die Benutzerprogramme möglicherweise nur 2-3 MB RAM zur Verfügung haben. Tauschen machte sehr viel Sinn.
In meiner Umgebung haben die meisten Server eine hohe Arbeitslast mit einem Arbeitsspeicher, und der Arbeitsspeicher kann ziemlich genau geschätzt werden ... Swap ist für Notfälle, außer Kontrolle geratene Prozesse usw. vorgesehen.
Die Ausnahme bilden Laptops und Workstations, die möglicherweise schlafen. Viele Betriebssysteme verwenden den Auslagerungsbereich, um das angehaltene Image zu speichern. In diesen Fällen muss der Auslagerungsbereich größer sein als der physische Speicher. Unter Linux mit suspend2 / tuxonice sollten Sie 2xRAM in der Swap-Größe haben, um Suspend-to-Disk zu unterstützen.
quelle
Wenn Sie heutzutage einen 32-GB- oder 64-GB-Server betreiben, sind 4 GB Swap für den Standard ein sicherer Betrag. Alles, was größer ist, ist übertrieben, da so viel physischer RAM verfügbar ist.
quelle
Idealerweise verwenden Sie den Swap überhaupt nicht, und das 2x-RAM-Ding ist wirklich etwas, das von den vergangenen Jahren übrig geblieben ist.
Wenn Sie sich darüber Sorgen machen, würde ich etwas tun wie:
Ich denke, 16 GB klingen persönlich viel zu groß.
quelle
In den alten Tagen, in denen Sie so viel wie möglich wollten, gehört der Speicherverbrauch in modernen * nix-Kerneln der Vergangenheit an. Das alte Sprichwort war "2x dein Gedächtnis". Zwischen 2 GB oder dem Speicherplatz, den die Maschine heutzutage im RAM hat, bringen Sie nahe an den Ort, an dem Sie sein müssen.
quelle
Der Swap wird auch zum Speichern von Dumps nach Kernel-Panik verwendet. Wenn Sie an der Analyse dieser Dumps interessiert sind und kein anderes Dump-Ziel angegeben haben, sollte Ihr Swap mindestens so groß sein wie Ihr RAM.
quelle
Es gibt keinen einzigen Algorithmus, der Ihnen sagt, wie viel Swap Sie benötigen. In der Praxis müssen Sie Ihr System der größten Last aussetzen, die Sie unterstützen möchten, und herausfinden, wie viel Ressource es tatsächlich verwendet. Stellen Sie Ihre Auslagerungsdatei entsprechend ein.
Für physischen RAM sollten Sie Ihr System unter die tatsächliche "Kreuzfahrt" -Last stellen, die Sie voraussichtlich bewältigen werden, und entsprechend kaufen. Bei Systemen mit geringer Latenz sollten Sie innerhalb Ihrer Reiselast überhaupt nicht tauschen (dies ist nicht gleichbedeutend damit, dass kein Tausch zugewiesen oder sogar verwendet wird). Aufgrund der wenig genutzten Systemdienstprogramme, die die Haushaltsführung durchführen, kann es zu einem geringen Austausch kommen , aber im Großen und Ganzen sollten Sie so wenig wie möglich tauschen.
Natürlich können Sie die Leistung gegen einen niedrigeren Preis eintauschen.
quelle