Forum

Re: Systempflege? / Virtueller Speicher
Dezember 02, 2005, 00:26:18
Was mir zur Systempflege einfällt:

- sie soll die Leistungsfähigkeit und Geschwindigkeit des Computers erhöhen oder erhalten
- sie soll Fehler ausbügeln bevor sie auftreten oder relevant werden
- sie soll Fehler beseitigen

* Die wichtigste Pflege, die man seinem Rechner antun kann, sind Sicherungskopien!
* Die Mac OS (Uni)X OrdnerOrdnung einhalten
* Die Festplatte oder das Volume (Partition) auf der sich der Ordner 'System' befindet, nicht zu voll werden lassen. Gelesen habe ich bereits von folgenden Empfehlungen wieviel Platz mindestens frei bleiben sollte: 0,2 GB oder 1 GB oder 5 GB oder auch 20 % der VolumeKapazität.


Ist es sinnvoll AppleJack für den Notfall installiert zu haben?
« Letzte Änderung: Dezember 11, 2005, 13:26:29 von Florian »

Patrick

  • 4 - 8 - 15 - 16 - 23 - 42
Re: [Vorschlag] Systempflege?
Antwort #1: Dezember 02, 2005, 00:38:58
* Die Festplatte oder das Volume (Partition) auf der sich der Ordner 'System' befindet, nicht zu voll werden lassen. Gelesen habe ich bereits von folgenden Empfehlungen wieviel Platz mindestens frei bleiben sollte: 0,2 GB oder 1 GB oder 5 GB oder auch 20 % der VolumeKapazität.
Seit Panther meckert ja das System, wenn das Startvolume weniger als etwa 500MB freien Speicher hat. Weiterhin wachsen die Swap-Dateien normalerweise auf die Größe des installierten RAM an, daher wäre die Faustregel "RAM+500MB". Prozentualer Anteil an der Festplattenkapazität halte ich für Humbug, bei einer 250GB-Platte wären das ja 50GB!
_______
Dr. Jones: Well I can assure you, Detective Britten, that this is not a dream. What?
Michael: That's exactly what the other shrink said. (Awake 1x01)

Florian

  • Zurück in der Zukunft
Re: [Vorschlag] Systempflege?
Antwort #2: Dezember 02, 2005, 00:39:41
Irgendwann demnächst schreibe ich wohl eh noch einen Artikel zur Datensicherheit. Da dürfte dann einiges von dem, was Du aufzählst reinkommen. Ich glaube, wenn man alles reinwirft, wird es etwas überfrachtet.
Aber danke für die Anregungen!
AppleJack ist sicher sinnvoll. Besser und bequemer erscheint mir aber eine Boot-CD. Auch dieses Thema würde ich gerne getrennt behandeln.

Vielleicht wäre "System-Tuning?" ein besserer Name für den Artikel?
_______
"If music be the food of love, play on."

                                         William Shakespeare
Re: [Vorschlag] Systempflege?
Antwort #3: Dezember 02, 2005, 00:51:56
« Letzte Änderung: Dezember 02, 2005, 01:02:17 von radneuerfinder »
Re: [Vorschlag] Systempflege?
Antwort #4: Dezember 02, 2005, 00:57:22
wachsen die Swap-Dateien normalerweise auf die Größe des installierten RAM an, daher wäre die Faustregel "RAM+500MB"

Bei mir, mit 1 GB RAM, steht unter 'Größe des virtuellen Speicher' meist was um die 5 GB.  ???
Re: [Vorschlag] Systempflege?
Antwort #5: Dezember 02, 2005, 10:15:02
Der SMARTReporter nimmt einem "nur" den Blick ins FPDP ab. Es gilt also auch hier: Wenn der Alarm blinkt, ist es womöglich schon zu spät.

Nicht nur womöglich. Beide Tools zeigen nur einen fehlerhaften SMART-Report an, wenn der erste Fehler bereits aufgetreten ist!
Es gibt auch ein Kommandozeilentool, welches den SMART-Report der Festplatte direkt ausliest, da werden dann viele verschiedene Analysefaktoren angegeben mit aktuellem Wert und Grenzwert. Da kann man dann schön sehen, wenn einer der Faktoren (z.B. Anzahl der noch freien Reservesektoren) langsam gegen den Grenzwerrt gehen und entsprechend reagieren, bevor(!) der erste Fehler auftaucht. Hatte ich damals ionas empfohlen, weil ihm ja mehrere Platten abgeraucht waren und er aus panischer Angst auf ein noch unsichereres Software-RAID setzte. Nachteil an diesem Tool: Ich erinnere mich aktuell nicht an den Namen, zwecks Download, und es war auch für mich kompliziert zu installieren. Für einen Normalanwender ohne Kenntnis des Terminals unmöglich.

@radneuerfinder:
"Größe des virtuellen Speichers" ist nicht die Größe der Swap-Dateien. Überhaupt nicht.
Besser kann es sicher mbs, aber ich versuche es mal:
Ein Programm meldet beim System beim Start an, wieviel Speicher es maximal irgendwann mal haben möchte. Das ist der virtuelle Speicher, der von dem jeweiligen Programm beansprucht wird. Der tatsächlich genutzte Speicher ist üblicherweise erheblich kleiner. Das System arbeitet dann auch nur mit dem tatsächlich genutzten Speicher, behält den virtuellen Speicher praktisch nur im Hinterkopf. Wenn nun der tatsächlich genutzte Speicher aller Programme zusammen größer ist als der physikalisch vorhandene Speicher, dann kommen die Swap-Dateien ins Spiel. Das System lagert dann den Teil des tatsächlich genutzten Speichers aus, der aktuell nicht in Bearbeitung ist. Dazuz kommt noch, daß der physikalische Speicher nicht nur für den tatsächlich genutzten Speicher von Programmen, sondern auch für Caches (Festplatten) benutzt wird.
mbs? Irgendwelche groben Schnitzer in meiner Beschreibung? :)

@Patrick: Richtig, prozentualer Teil für die Swap-Dateien ist bei großen Platten natürlich nicht so sinnig. Aber die Größe der Swap-Dateien hängt stark von der Verwendung des Rechners ab. Bei mir sind die üblicherweise deutlich größer als der installierte Speicher. Meistens so um die 2GB, kann aber auch mal auf 4 GB ansteigen.
_______
Was ist die Mehrheit? Mehrheit ist der Unsinn, Verstand ist stets bei wen´gen nur gewesen." -- Schiller
Re: [Vorschlag] Systempflege?
Antwort #6: Dezember 02, 2005, 10:29:37
Ein Programm meldet beim System beim Start an, wieviel Speicher es maximal irgendwann mal haben möchte.

Das stimmt meines Wissens seit OS X nicht mehr. Da muss ein Programm nicht mehr zum voraus anmelden, wieviel Speicher es benötigt, sondern kann während dem Betrieb im Prinzip unbeschränkt weiteren Speicher anfordern, wenn es welchen benötigt. Aber ja, mbs kann das sicher besser erklären...
_______
Complete liberty of contradicting and disproving our opinion, is the very condition which justifies us in assuming its truth for purposes of action; and on no other terms can a being with human faculties have any rational assurance of being right. (John Stuart Mill - On Liberty)
Re: [Vorschlag] Systempflege?
Antwort #7: Dezember 02, 2005, 10:31:55
Wo kann ich denn die tatsächliche Größe der AuslagerungsDatei(en) nachschauen?

Patrick

  • 4 - 8 - 15 - 16 - 23 - 42
Re: [Vorschlag] Systempflege?
Antwort #8: Dezember 02, 2005, 10:41:37
Wo kann ich denn die tatsächliche Größe der AuslagerungsDatei(en) nachschauen?
Entweder über Menumeters oder aber direkt in /private/var/vm/. Die Anzeige in Aktivitäts-Anzeige bezieht sich auf den gesamten virtuellen Speicher. Meine Auslagerungsdatei ist momentan nur 64MB groß, in der Aktivitätsanzeige steht was von 7,41GB virtueller Speicher.
_______
Dr. Jones: Well I can assure you, Detective Britten, that this is not a dream. What?
Michael: That's exactly what the other shrink said. (Awake 1x01)
Re: [Vorschlag] Systempflege?
Antwort #9: Dezember 02, 2005, 10:53:01
@warlord:
Du hast mich falsch verstanden. Es ist natürlich nicht merh wie unter 9, daß sich ein bestimmter Teil reserviert wird, der dann fix ist. Vor allem wurde unter 9 dieser Teil tatsächlich reserviert, also ein völlig anderes Verhalten!
Es ist aber wohl so, daß ein Programm beim Start schon mal sagen kann, in welchem Adreßraum es sich tummeln möchte. AFAIK kann das dann später noch dynamisch vergrößert werden.

@radneuerfinder:
Im Finder Apfel-Shift-G und dann "/var/vm" ohne Anführungszeichen eingeben.

@Patrick: Virtueller Speicher hat nix mit Auslagerungsdatei zu tun, s.o.
_______
Was ist die Mehrheit? Mehrheit ist der Unsinn, Verstand ist stets bei wen´gen nur gewesen." -- Schiller

mbs

Re: [Vorschlag] Systempflege?
Antwort #10: Dezember 02, 2005, 14:46:47
Ah, endlich wieder eine technische Diskussion.  ;D

Der Originalartikel gefällt mir gut. Ein paar kleine Anmerkungen hätte ich noch:
  • Defragged: Es ist wahrscheinlich ein "striped" RAID gemeint, kein "stripped" RAID. ;)
  • Prebindings: Seit Mac OS X 10.3.4 hat sich die Prebinding-Strategie von Apple nochmals geändert: Das Linking-System wurde so optimiert, dass Programme überhaupt nicht mehr prebound werden müssen. Dies wird nur noch für dynamische Bibliotheken gemacht.

Zu der SMART-Frage: SMART hat ursprünglich nichts mit Software zu tun, sondern ist eine reine Hardware-Technik, die seit etwa 1992 von den Festplattenherstellern eingeführt wurde. S.M.A.R.T. funktioniert so, dass auf dem Plattencontroller (seit ca. 1987 die Platine, die direkt auf dem Laufwerk sitzt) sich eine zusätzliche Diagnoseeinheit befindet, die statistische Daten über die Platte sammelt und dauerhaft speichert. Zu diesen beobachteten Daten zählt die Betriebsdauer, die Umgebungstemperatur, die Anzahl der Ein-/Ausschaltvorgänge, aber auch die Anzahl der aufgelaufenen Lese- und Schreibfehler, die verbrauchten Reservesektoren und vieles andere mehr. Welche Daten es genau sind, ist nicht genormt, und hängt vom jeweiligen Plattenhersteller und -modell ab.

Aus diesen statistischen Daten berechnet die Diagnoseeinheit einen kumulierten Schätzwert, der aussagt, ob die Platte die nähere Zukunft noch heil überleben wird, oder ob sie bald ihre Lebensdauer überschritten hat. Es handelt sich nur um einen einzigen ja/nein-Wert, der entweder sagt, "sieht noch gut aus" oder "Platte sollte so schnell wie möglich ausgetauscht werden".

Dieser Wert wird "S.M.A.R.T.-Status" genannt und man kann ihn mit verschiedenen Programmen abrufen. Diese Programme "machen" in Wirklichkeit überhaupt nichts, außer jeder Platte den Befehl zu schicken "gib mir deinen aktuellen S.M.A.R.T.-Wert", und dann wird der Wert angezeigt. Mac OS X enthält ab Jaguar bereits eingebaute Programme, den SMART-Status anzuzeigen, und zwar das Festplatten-Dienstprogramm und das Programm "diskutil" für die Kommandozeile.

Also: der SMART-Status ist tatsächlich als Frühwarnung gedacht. Dafür wurde der ganze Aufwand mit dem Diagnoseprozessor auf der Platte überhaupt entwickelt. Aber: Da der Status aus statistischen Daten berechnet wird, die sich normalerweise nicht abrupt ändern, ist es nicht sinnvoll, sich den Status ständig anzeigen zu lassen. Ob man SMARTreporter braucht, halte ich deshalb für fraglich, muss aber jeder selbst wissen.

Ob man AppleJack braucht, halte ich für ebenso fraglich, denn die meisten Funktionen, die man dort findet, sind die Funktionen, die Florian bereits als überflüssig entlarvt hat und den Rest kann man auch mit der Original-Boot-DVD machen, die jedem Mac beiliegt.

Zum virtuellen Speicher:
Jedes Programm in Mac OS X läuft in einem sogenannten "virtuellen Speicher", tut also so, als würde es den kompletten Speicherraum für sich alleine haben. (Dies hat zunächst nichts damit zu tun, dass Programme auch Teile der Festplatte als Behelfsspeicher verwenden können, falls der RAM-Speicher zu klein ist. Siehe unten.) Es ist technisch unmöglich, dass ein laufendes Programm in den virtuellen Speicherraum eines laufenden anderen Programms schauen kann, was man als "Speicherschutz" bezeichnet. Diese Funktion wird zum größten Teil von der Hardware abgehandelt.

Alles, was außerhalb des eigenen virtuellen Raums liegt, kann ein Programm also nicht "sehen". Wenn ein Programm daher Dienste des Betriebssystems braucht, z.B. um Buchstaben auf den Bildschirm zu malen oder Tastendrücke zu empfangen, müssen diese Teile des Systems in den virtuellen Raum des Programms eingeblendet werden. Lässt man sich deshalb den virtuellen Speicherverbrauch jedes Programms in "Aktivitätsanzeige" ausgeben, sind die Werte dort so erschreckend hoch. Wenn ein kleines Programm wie das "Dock" also 340 MByte virtuellen Speicher verbraucht, ist das normal. Der größte Teil davon ist die Einblendung der ganzen Grafikbibliotheken in den Speicherraum des Docks. Wirklich "verbraucht" wird dabei erstmal nichts. Der Speicher ist ja nur virtuell.

Jedes Programm in Mac OS X läuft in einem virtuellen Raum von 4 GByte, von denen maximal 2 GByte vom Programm tatsächlich selbst genutzt werden dürfen. Der Rest ist rein virtuell, nur für die Einblendung von Bibliotheken gedacht. Verwendet man einen G5-Prozessor und eine Systemversion ab Tiger, so ist der virtuelle Speicher noch größer: Jedes Programm läuft hier in einem Raum von 16 Exabyte, das sind mehr als 16 Milliarden Gigabyte.

Ein Teil des virtuellen Speichers muss aber nun "in echt" da sein, sonst könnte das Programm ja gar nichts tun. Hierzu wird der virtuelle Speicher in Blöcke von 4 KByte Größe unterteilt und diese Blöcke werden durch eine Hardware-Einheit im Prozessor auf echten RAM-Speicher abgebildet. Diese Abbildung zwischen echtem und virtuellem Speicher ist völlig wild im RAM verstreut. Die Hardware kümmert sich schon darum.

Man kann nun dieses Verfahren mit einer zweiten Technik verbinden, die man als "Auslagerung" (englisch: "Paging") bezeichnet: Da die Programme ja sowieso nicht wissen, wo sich ihr Speicher in Wirklichkeit befindet, muss man den Speicher zur technischen Realisation des virtuellen Speichers gar nicht im RAM haben, sondern kann ihn auch auf der Festplatte halten. Die Festplatte ist zwar mindestens 100000-mal langsamer, aber wenn man es geschickt macht, funktioniert das auch. Da Festplatten pro Byte sehr viel billiger sind als RAM-Speicher, kann man so Geld sparen.

Das Problem ist nur, dass der Prozessor nicht direkt auf die Daten zugreifen kann, die auf der Platte liegen, dies geht nur mit RAM. Liegt ein 4-KB-Block - der in diesem Zusammenhang als "Speicherseite" bezeichnet wird - auf der Festplatte, so muss ihn das Betriebssystem erst von der Platte zurück ins RAM kopieren, was als "Einlagern" bezeichnet wird. Der umgekehrte Vorgang, vom RAM auf die Platte, heißt "Auslagern".

Dies läuft nun so: Zunächst wird der virtuelle Speicher der laufenden Programme auf RAM-Speicher abgebildet, solange der Vorrat reicht. Sobald die Summe aller laufenden Programme mehr an tatsächlich verbrauchtem Speicher benötigt, als an RAM da ist, sucht sich das Betriebssystem die gerade "überflüssigste" Speicherseite aus und lagert sie vom RAM auf die Festplatte aus. Danach darf das Programm, das mehr Speicher verbraucht, die frei gewordene Seite im RAM nutzen. Um festzustellen, welche Speicherseiten gerade nicht unbedingt notwendig sind, wird für jede einzelne Seite eine Art Benutzungsstatistik geführt. Die Seite, deren Speicherinhalt als längste nicht mehr von irgendeinem Programm benötigt wurde, fliegt raus.

Irgendwann passiert es natürlich, dass ein Programm doch wieder die Daten von einer Seite braucht, die gerade "draußen auf der Festplatte" liegt. Man spricht dann von einem "Seitenfehler", womit aber nur gemeint ist, "eine meiner Speicherseiten fehlt gerade im RAM, bitte wieder einlagern". Das macht das Betriebssystem dann: Es fliegt wieder die am längsten unbenutzte Seite raus und stattdessen kommt die gerade gebrauchte rein.

Die "Zone" auf der Festplatte, wo sich die ausgelagerten Seiten befinden, wird in Mac OS X durch normale Dateien realisiert, die im Ordner /var/vm liegen. Damit es schneller geht, legt das System immer mindestens eine Datei in einer großzügig vorreservierten Größe an. Diese vorreservierte Größe ist je nach Systemversion unterschiedlich, meist zwischen 64 und 80 MByte. Wird mehr ausgelagerter Speicher benötigt, dann werden automatisch weitere Dateien in gleicher Größe angelegt. Viele Leute bezeichnen diese Dateien auch als "virtuellen Speicher", was oft Verwirrung auslöst. Man sollte stattdessen den Begriff Auslagerungsdateien verwenden.

Am Rande erwähnt: Da das Ein-/Auslagerungssystem sehr gut optimiert und dadurch sehr effizient ist, verwenden gut geschriebene Programme in Mac OS X einen Trick, wenn sie Dateien lesen und schreiben: Wenn z.B. eine Datei gelesen werden soll, tun diese Programme einfach so, als würde die ganze Datei im virtuellen Speicher liegen. Soll nun das erste Byte aus der Datei gelesen werden, löst das System automatisch einen Seitenfehler aus, und der entsprechende 4-KB-Block wird von der Datei in den Speicher eingelagert. Man missbraucht sozusagen die Speicherverwaltung als besonders schnelle Dateizugriffstechnik.

Die Größe der Auslagerungsdateien kann man z.B. mit diversen Hilfsprogrammen oder mit dem Terminal-Befehl

   du -k /var/vm/swap*

in Kilobyte anzeigen lassen. Im Feld "Speicher" von "Aktivitätsanzeige" sieht man den Rest der Speicherverwaltung:

  • Reserviert: Anteil des RAM-Speichers, der vom Auslagerungsverfahren ausgenommen ist. Zum Beispiel darf der Teil des Systems, der für die Speicherverwaltung zuständig ist, sich nie selbst auslagern. Würde sonst in einer kleinen Katastrophe enden...
  • Aktiv: Speicherseiten im RAM, die gerade von den laufenden Programmen benutzt werden.
  • Inaktiv: Speicherseiten im RAM, die eigentlich ebenso von laufenden Programmen benutzt werden, auf die aber schon länger nicht mehr zugegriffen wurde. Das sind die Kandidaten, die bei Speichermangel als nächstes rausfliegen könnten.
  • Genutzt: Die Summe der letzten drei Werte.
  • Frei: Der Rest des RAM-Speichers, der gerade nicht benutzt wird. Ist hier ein Wert deutlich über 0, dann hat man - jedenfalls für das gerade beobachtete Nutzungsverhalten - "zu viel" RAM-Speicher in seinem Rechner.
  • Größe des virtuellen Speichers: Das ist die Summe der in den virtuellen Speicherräumen aller laufenden Programme benutzten Speicherseiten. Diese Zahl hat keinen besonderen Nährwert. Wie gesagt muss jedes Programm Teile des Betriebssystems in seinen Speicher einblenden. Es handelt sich also zum größten Teil um immer wieder doppelt gezählten virtuellen Verbrauch, der sich aber weder im RAM noch in den Auslagerungsdateien niederschlägt.

Das Ziel eines guten Betriebssystems ist es, den freien Speicher immer knapp über 0 zu halten, denn das RAM, das man gekauft hat, soll ja schließlich auch voll genutzt werden. Hat man für sein eigenes Nutzungsverhalten zu wenig RAM, wird das System deutlich langsamer. Das liegt daran, dass sich in dem Fall die Zahl der nötigen Aus- und Einlagerungsvorgänge stark erhöht und die Festplatte ist nun mal seeeehr viel langsamer als das RAM. Es gibt eine kritische Grenze, unterhalb der das System unbenutzbar wird, weil dann so viele Seitenfehler auftreten (die sich noch gegenseitig aufschaukeln!) dass das System zu gar nichts anderem mehr als zu Festplattenzugriffen kommt. Das wird auch "Seitenflattern" genannt.

Die umgekehrte Richtung, dass ein System immer schneller wird, je mehr RAM man reinsteckt, ist Quatsch. Das stimmt eben nur, wenn man vorher zu wenig RAM hatte. Ist man bei der "passenden" Größe angekommen, bringt danach weiterer RAM-Speicher überhaupt nichts mehr.

Oops, ganz schön lang geworden...
Re: [Vorschlag] Systempflege?
Antwort #11: Dezember 02, 2005, 15:39:27
ich habe den eintrag von mbs gelesen und bin schwer beeindruckt!
nun habe ich mal bei mir nachgesehen (natürlich mit menumeters) und frage mich gerade, wie solche durchschnittswerte aussehen.

es handelt sich bei mir um einen cube, 800mhz mit einem GB speicher, osx aktuell und folgender HD:
80GB (76,33GB) mit 8mb cache , verfügbar: 43,26 GB

vm statistiken:
27.600 gelesene seiten, 0 geschriebene seiten
19.900 cache-suchen, 5.040 cache-treffer (25,2%)
3.206.500 seitenfehler, 26.900 kopien-nach-schreiben

sind die seitenfehler hier nicht ungewöhnlich hoch oder liegen diese in dem kaum vorstellbaren normbereich?

_______
«Das Internet? Gibt's diesen Blödsinn immer noch?»  (Homer Simpson)

mbs

Re: [Vorschlag] Systempflege?
Antwort #12: Dezember 02, 2005, 15:55:08
@FOX:

Zitat
Sind die seitenfehler hier nicht ungewöhnlich hoch

Nein, keine Angst. Aus der Angabe "0 geschriebene Seiten" kann man ablesen, dass seit dem letzten Systemstart überhaupt noch keine Auslagerungsvorgänge stattgefunden haben. Dein System hat also genug Speicher.

Dass trotzdem so viele Seitenfehler aufgetreten sind, liegt an dem von mir erwähnten Trick, dass viele Programme zum Lesen von Dateien das Seiteneinlagerungssystem zweckentfremden. Auch das, was ich "Einblenden von Systembibliotheken" genannt habe, ist ja im Prinzip das Laden von Programmen und Betriebssystembestandteilen in den virtuellen Speicher. Das ist normal und kein Auslagern wegen RAM-Mangels.

Die 3 Millionen Seitenfehler haben 27.600 Einlagerungsvorgänge ausgelöst.
Re: [Vorschlag] Systempflege?
Antwort #13: Dezember 02, 2005, 16:51:15
Für die Kommandozeile gibt's kostenlos die "smartmontools", alles andere ist meines Wissens kostenpflichtig.

Ja, das war genau das Programm, das ich auf meinem Cube mal installiert hatte. War aber nicht ganz trivial, weil man vorher noch etwas anderes installieren mußte, das durfte aber nciht zu neu sein und und und.
Nachdem es aber erstmal lief, funktionierte es gut.

Zitat
Nein, keine Angst. Aus der Angabe "0 geschriebene Seiten" kann man ablesen, dass seit dem letzten Systemstart überhaupt noch keine Auslagerungsvorgänge stattgefunden haben. Dein System hat also genug Speicher.

Kann man eigentlich sagen, daß eine hohe Zahl geschriebener Seiten im Verhältnis zu gelesenen Seiten ausdrückt, daß man RAM kaufen sollte?
Bei mir z.B. aktuell 1829947 ein und 456171 aus und ich habe oft den Eindruck, daß ich bei meiner Arbeitsweise dem iMac schnell neben den Standard-512MB noch weitere 1GB gönnen sollte.
Auch bei meine Cube mit 708MB habe ich oft recht hohe Seitenauslagerungen gehabt.

Noch was:
Kann man sagen, daß die Größe des virtuellen Speichers (nicht Auslagerungsdatei) genau null Auswirkung auf die Performance des Systems hat? So habe ich das jetzt verstanden.
_______
Was ist die Mehrheit? Mehrheit ist der Unsinn, Verstand ist stets bei wen´gen nur gewesen." -- Schiller

mbs

Re: [Vorschlag] Systempflege?
Antwort #14: Dezember 02, 2005, 17:39:51
Zitat
Kann man eigentlich sagen, daß eine hohe Zahl geschriebener Seiten im Verhältnis zu gelesenen Seiten ausdrückt, daß man RAM kaufen sollte?

Normalerweise ja. Ich will zwar nicht ausschließen, dass es auch noch andere Effekte gibt, die den Auslagerungszähler hochtreiben, aber in der Regel stimmt die Annahme.

Wieviel es letztlich konkret an Geschwindigkeit bringt, hängt immer sehr vom Nutzungsverhalten ab. Wenn eine kritische Grenze in der RAM-Nutzung überschritten wird, dann kann die Leistung halt überproportional in die Knie gehen. Manche Programme verbringen 80% der Laufzeit in 20% ihres Speicherraums, so dass man die restlichen 80% komplett auslagern kann, ohne dass der Benutzer das groß merkt. In diesem Fall "schaden" die Auslagerungen nicht so sehr.

Andere Programme sprechen aber ihren Speicherraum viel gleichmäßiger (oder ist das eher chaotischer?) an und erzeugen so ständig Seitenfehler an allen Ecken und Enden, was stärker auf die Leistung geht. Eine Vorhersage zu treffen, ist daher nicht möglich.

Zitat
Kann man sagen, daß die Größe des virtuellen Speichers (nicht Auslagerungsdatei) genau null Auswirkung auf die Performance des Systems hat?

Ja. Wie gesagt gibt es aber viel Begriffsverwirrung. Wenn man den Begriff "Virtueller Speicher" irgendwo liest ohne dass der Autor ihn genauer  erklärt, dann können halt viele unterschiedliche Sachen gemeint sein:

- der theoretisch nutzbare Speicherraum jedes Programms (exakt: der Adressraum jedes Prozesses),
- die Summe der benutzten Speicherseiten aller gerade laufenden Prozesse,
- die Menge des physischen Speichers, die das System beanspruchen könnte, wenn es das gesamte RAM und die gesamte Festplatte ausnutzen würde,
- der vorreservierte Auslagerungsspeicher,
- der benutzte Auslagerungsspeicher, usw.