Was ist SWAP bzw. wann benutzt pfSense es?



  • Hey Leute,

    hab eine vielleicht blöde Frage..

    pfSense zeigt mir im GUI immer SWAP usage 0% of 2047 MB..

    Ich weiß, dass sachen in den SWAP geschrieben werden sobald der Arbeitsspeicher voll ist.
    SWAP ist also sozusagen die Auslagerungsdatei vom Arbeitsspeicher auf der Festplatte.
    Oder habe ich da was falsch verstanden?

    Aber benötigt man dieses SWAP wirklich?
    Oder kann man das irgendwo deaktivieren?

    Habe 1 GB RAM und bin nie über 40% RAM useage.

    Gruß


  • LAYER 8 Moderator

    Jein, ja nein.

    Jein: Nicht falsch verstanden aber falsch interpretiert. BSD/Linux haben keine "Auslagerungsdatei" wie Windows. Windows wirft hier häufiger mal Sachen hinein, ist aber generell speicherhungrig. SWAP ist genau wie es heißt dafür da, einen "Überlauf" zu bilden, wenn der physikalische Speicher voll ist und nichts beendet wird. Also wird dann in eine Datei geschrieben, was nicht mehr in den RAM passt. Das kann durchaus mal ein paar Bytes sein, sollte aber nicht passieren, denn RAM ist einen gehörigen Faktor schneller als lokaler Speicher wie eine Festplatte o.ä.

    Ja: Es wird benötigt. Linux/BSD brauchen eine aktive SWAP Partition mit mind. dem vorhandenen RAM um bspw. Energiesparmodi nach S3 o.ä. durchzuführen. Gut, nun für die pfSense eher irrelevant, wird SWAP aber dennoch als Überlaufschutz für knappen RAM benötigt. Ansonsten müsste bei vollem RAM sofort ein Prozess beendet werden um wieder Platz zu schaffen, was ziemlich ins Auge gehen kann, denn der OOM_Killer (out of memory killer) der das erledigt, schießt auch gern mal einen SSH oder Web Daemon ab um wieder Speicher zu schaffen. Und damit wäre kein Login mehr möglich ohne Reboot.

    Nein: Das wird nirgends abgeschaltet. Lass einfach die Finger raus. Es hat einen guten Grund, warum jedes Linux und Unix per default (!) immer automatisch eine SWAP Partition einrichten und die NICHT einfach weglassen, nur weil man vielleicht genug RAM haben könnte. Selbst wenn du schwören könntest, dass du weder aus systemtechnischen Gründen, noch wegen genügend RAM jemals den RAM voll bekommst, kannst du es nicht garantieren. Einmal ein Paket zusätzlich installiert, welches RAM benötigt, das vielleicht über Zeit immer mehr davon braucht und dann wieder aufräumt (Logs im Speicher o.ä.) kann es immer mal vorkommen, dass man kurzzeitig über den physikalischen RAM hinausschießt.

    Und solange da steht 0% ist das OK. Ich sehe das als grüne Lampe: Speicherverbrauch ist gut.

    Grüße



  • Danke für die Aufklärung.. :)

    Gruß


  • LAYER 8 Moderator

    Gern :)



  • Hallo,

    BSD lagert nach 24h irgendwelche Statusinfos aus dem RAM auf die Swappartition aus. Siehe:

    10:23PM  up 78 days, 15:57, 2 users, load averages: 2.07, 2.09, 2.11

    CPU: 50.0% user,  0.0% nice,  0.0% system,  0.0% interrupt, 50.0% idle
    Mem: 2944K Active, 2820K Inact, 15G Wired, 293M Cache, 1643M Buf, 235M Free
    Swap: 30G Total, 19M Used, 30G Free

    Rechner (FreeBSD 9.1) läuft seit 78 Tagen, RAM sind 16G drin und in dem Moment nur 2,9M aktiv genutzt und trotzdem wird 19M Swap benutzt. Der Rechner ist kein Router, aber das Prinzip ist das gleiche…

    Gruß ré


Log in to reply