Du gehst davon aus, dass RAM gleich RAM ist
Klar, die RAM-Disk wird ja vom RAM abgezweigt. Weiss nicht wie das bei Linux ist, aber beim Amiga braucht die RAM-Disk halt soviel RAM, wie gerade in der RAM-Disk gespeichert ist.
Es gibt 114 Antworten in diesem Thema, welches 11.536 mal aufgerufen wurde. Der letzte Beitrag (
Du gehst davon aus, dass RAM gleich RAM ist
Klar, die RAM-Disk wird ja vom RAM abgezweigt. Weiss nicht wie das bei Linux ist, aber beim Amiga braucht die RAM-Disk halt soviel RAM, wie gerade in der RAM-Disk gespeichert ist.
Swap ist nunmal dafür da, um virtuellen Speicher auf HD auszulagern, wenn das RAM nicht mehr ausreicht. Nicht besonders sinnvoll, etwas ins RAM auszulagern wenn das RAM voll ist
[eronie]
Ach tatsächlich?
[/eronie]
Schon klar. Aber als Notnagel, um eine Bremse im System zum umgehen sollte es wohl gerechtfertigt sein. Und genau so wars gemeint.
Wem das zu blöde ist und mit einer Bremse lieber lebt, dann kann man es auch lassen. Es ist nur ein Workaround, was es ja im IT-Sektor immer wieder gibt...
Genauso blöde ist es ein TMP-FS (Dynamische RAM-Disk) einzusetzen und dort ein SWAP-File anzulegen. Dadurch, dass das SWAP eine Datei ist verliert man bei Benutzung auch Geschwindigkeit. Dennoch würde ich das als Workaround für die genannte Bremse in kauf nehmen, anstelle die SSD zu belasten, was schnell ins Geld gehen könnte.
Der Vorteil von TMP-FS zur RAM-Disk ist, dass RAM-Disk eine feste Größe hat und man diese im Kernel einstellt. TMP-FS hingegen ist mittlerweile für z.B. /tmp Standart und dort ein 64MB-SWAP-File anzulegen könnte etwas leichter für einige sein, als die RAM-Disk.
Was ich nicht weiß ist, was passiert, wenn das System Crashed. Hier kann dann das System kein Dump schreiben. Sollte daran aber eh kein Interesse bestehen, kann man das ignorieren.
Wie kann man ein OS benutzen das schneller wird wenn man die 'Auslagerungsdatei' ins RAM legt?
Das soll keine Provokation sein, sondern ich frage mich wirklich.
Gar nicht. Im RAM ist es reichlich egal, ob es eine "Partition" oder eine Datei ist. Einen Unterschied in der Geschwindigkeit gibt es da nur auf HDD.
Ansonsten ist es wie schon gesagt sinnlos: Ausgelagert wird, wenn das RAM voll ist aber ein Programm trotzdem noch RAM anfordert. Und da das RAM voll ist, kann man dorthin auch nichts mehr auslagern. Das muss schon ein anderer Datenträger sein, meistens halt die HDD.
Also keine Ahnung wie weit das bei Linux ist, aber Win legt ja aus Prinzip die Auslagerungsdatei an und schmeißt was rein, selbst wenn man noch 2 GB RAM frei hat, liegen dann trotzdem 500 MB drin. Was der Unfug soll hat mich aber schon länger interessiert.
Die Amiga Methode fand ich da fast noch am besten: Es gibt einfach gar keinen virtuellen Speicher, entweder man hat das RAM oder nicht ![]()
Also keine Ahnung wie weit das bei Linux ist,
Debian Squeeze:
Bitte melde dich an, um diesen Anhang zu sehen.
Desktop1: Opera 10 und Firefox
Desktop2: Gimp
Desktop3: VLC-Videplayer mit Rambo III
Desktop4: Eagle Schaltplan-Editor mit Schaltplan
.. da gingen mir die Ideen aus. Wenn man ein 2GB Video-Stream schneidet, könnte mal ein Fussel Auslagerung möglich sein.
Wie kann man ein OS benutzen das schneller wird wenn man die 'Auslagerungsdatei' ins RAM legt?
Das soll keine Provokation sein, sondern ich frage mich wirklich.
Ich behaupte mal, die Frage ist falsch gestellt. Richtig müsste es wohl eher sein.
"Wie kann man ein OS nutzen, dass bei Fehlen von SWAP langsamer wird?"
Verstanden habe ich das nämlich auch nicht. Ich nehme jedoch an, dass es wohl verwaltungstechnisch einen unterschied macht.
Nein, ich meinte das schon so wie ich meinte (!).
Wenn es durch swap im RAM schneller wird, stimmt etwas nicht.
Dass es ohne swap langsam wird (wenn der speicher voll ist) ist verstaendlich.
Klar, die RAM-Disk wird ja vom RAM abgezweigt. Weiss nicht wie das bei Linux ist, aber beim Amiga braucht die RAM-Disk halt soviel RAM, wie gerade in der RAM-Disk gespeichert ist.
Es gibt beispielsweise Systeme mit unterschiedlich schnell ansprechbarem RAM, da kann es durchaus sinnvoll sein manches davon nicht direkt für die CPU zu verwenden sondern es lediglich als (schnellen) Swapspace einzubinden. Ein anderer Grund könnte sein, dass das "zusätzliche" RAM nicht immer verfügbar ist und gelegentlich freigeräumt werden muss - das ist mit Swapspace manchmal einfacher als mit regulärem Hauptspeicher. Ein in den CPU-Adressraum eingeblendeter Framebuffer einer Grafikkarte ist ein mögliches Beispiel für beide Fälle.
Nein, ich meinte das schon so wie ich meinte (!).
Wenn es durch swap im RAM schneller wird, stimmt etwas nicht.
Dass es ohne swap langsam wird (wenn der speicher voll ist) ist verstaendlich.
Dann hast du mein Hinweis nicht verstanden.
Ich hatte mich mit dem Thema vor 2 oder max 3 Jahren auseinander gesetzt, als ich in mein Linux-Client 8 GB eingebaut habe. Damals gabs noch keine SSD, die überhaupt für zu hause nutzbar waren, daher kann sich da sicherlich auch was verändert haben. Zu dem besagten Zeitpunkt wars jedenfalls so, dass die Kernelentwickler einem davon abrieten Systeme ohne SWAP zu benutzen. Sie behaupteten das System würde dann unter Umständen zu Performancelags neigen. Die ganze RAM-Verwaltung soll auf SWAP angewiesen sein, so deren aussagen. In den Kernelsourcen soll es auch so vermerkt sein.
Diese Performance-Bremse tritt also nicht nur dann ein, wenn man das RAM voll ausnutzt, sondern schon deutlich früher. Dass es zu Performance-Problemen kommen soll, wenn das RAM ausgeschöpft ist (bei nicht Benutzung von SWAP) ist klar, hier braucht's wohl keine Diskussion.
Mein Hinweis bezog sich also darauf, dass man SWAP und wenns nur 128 MB sind anlegen sollte um diese Bremse zu umgehen. ob das SWAP nun dabei im RAM oder auf einer Nicht-SSD-Platte liegt ist dabei egal. Wer SWAP benutzt hat sowieso ein Performanceproblem, das man durch aufrüsten oder Software beenden am besten beseitigt.
Das System wird also nicht schneller durch das anlegen von SWAP im RAM, nur eine SSD ist für SWAP ungeeignet.
Edit:
Ich hab mal gegoogled um zu schauen ob ich den Artikel im Netz wiederfinden. Bisher leider kein Erfolg, aber ich fand Bitte melde dich an, um diesen Link zu sehen. was man wohl als SWAP im RAM benutzen kann.
ZitatAb welcher Kernelversion soll das nicht mehr nötig sein?
einfach mal den thread lesen: "das mit "linux braucht unbedingt swap" bezieht sich btw auf ISA und 2.2 .... ".
ZitatZumindest bis Kernel 2.x wars nötig, oder stark von den Kernelentwicklern empfohlen.
"2.x" ist mal so wischiwaschinichtssagend wie "windows". es gibt überhaupt erst seit kurzem einen kernel in freier wildbahn der NICHT 2.x ist. das problem hat kernel 2.2, und den wirst du in der praxis maximal auf uralten serverinstallationen finden. aktuell sind 2.6 bzw 3.0
ZitatAls Grund wurde genannt, dass jeder Speicherzugriff über die SWAP-Routine (oder Funktion oder wat auch immer) drauf zugreift und hier dann Bremsungen erfährt, sobald kein SWAP vorhanden ist. Diese sollen sich nicht immer bemerkbar machen, aber vorhanden sein.
DAS wurde so sicher nicht als grund genannt. ich bin mir ziemlich sicher das das nicht nur detailierter sondern auch richtig erklärt wurde
ZitatTiefere Einblicke hab ich mir damals Geschenkt, aber Sauhund hat vermutlich da mehr Erfahrung und wird gegenteiliges berichten
auch wenn du es eigentlich garnicht wirklich wissen willst: es geht wie gesagt um ISA karten. diese belegen bei einem pc im unteren speicherbereich platz und können nur da adressiert werden. das untere ram wird aber vom kernel für mannigfaltige dinge benutzt. folglich kann die situation eintreten das das ram belegt ist und dann i/o über eine ISA karte gemacht werden will. an der stelle muss geswapped werden sonst geht nix mehr. das ist auch der grund warum an der stelle unter umständen schon wenige kb swap das problem lösen.
wenn in deinem 8gb linux client also keine ISA karte steckt, dann brauchst du da auch kein swap =P ich fahre meinen rechner mit nur 4gb auch problemlos ohne, nur beim kompilieren von openoffice oder kde muss welcher her ![]()
Dein Argument dass nur PC mit ISA-Karten von dieser SWAP-Bremse betroffen sind, wenn man Kernel 2.2 einsetzt kann ich nicht Entkräften. Bezweifle jedoch stark dass dies so stimmt, aber da ich das Dokument nicht mehr finde kann ich nichts beweisen. Vor 3 Jahren war zumindest der Kerne 2.2 veraltet und ich hatte mindestens 2.4 oder gar 2.6 am laufen.
Zu allen Anderen, denk dir was du magst. Dein Argumente sind auch immer nur hören sagen und deine Aussagen sind auch ohne Beleg, daher mindestens genauso wischiwaschi wie meine...
Bezweifle jedoch stark dass dies so stimmt, aber da ich das Dokument nicht mehr finde kann ich nichts beweisen. Vor 3 Jahren war zumindest der Kerne 2.2 veraltet und ich hatte mindestens 2.4 oder gar 2.6 am laufen.
Vor drei Jahren sollte das auf jeden Fall 2.6 gewesen sein - 2.6.0 ist etwa 8 Jahre alt (17. Dezember 2003 laut Wikipedia) und zwischen 2.6.0 und 2.6.40 hat sich wahrscheinlich mehr verändert als zwischen 2.4.0 und 2.6.0.
Danke Unseen. Ich gehe auch davon aus, dass es eher 2.6.x war. Welches genau, kann ich aber wirklich nicht mehr sagen. Hab damals immer sehr früh Kernel-Updates eingespielt.
Ich wollte nur nicht den 2.4-Kernel komplett außer Betracht lassen, da ich hier nicht ganz 100% sicher bin. 2.2 wars aber sicherlich nicht und kann mir auch nicht vorstellen, dass das Dokument, welches ich meine sich auf den 2.2 bezog. Dafür ist der Kernel einfach schon zu alt.
Ich werde morgen noch mit einem Arbeitskollegen sprechen, der deutlich tiefer in der Linux-Welt unterwegs ist, als ich. Vielleicht weiß er mehr. Wenn dann meld' ich mich morgen dazu. Ansonsten probierst ohne Swap und wenns zu Perfomance-Lags kommt, kann man ja temporär ein Swap-File anlegen und schauen. Ist ja kein Hexenwerk und einfach zu realisieren.