Frage von DerLappen, 5

Warum läd Windows 7/8 so viel mehr an Daten in den Ram als Windows XP?

moin moin, früher hat ein sauberes Windows XP bei mir ca. 200-250mb an Daten in den Ram geladen, heute bei Windows 7 sind schon fast 1GB.

  1. Worher kommt diese fast 4x so hohe Ram Auslastung bei WIndows 7?
  2. Wurde damals bei Windows XP mehr Daten dafür in den langsammeren Cache auf die Festplatte geschrieben?

Diese Frage beschäftigt mich schon die ganze Zeit, da ich veruche, mein System so smart wie mögliche zu halten :) Hoffe jemand kann mir weiterhelfen.

Euer Lappen

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von FaronWeissAlles, 3
  • Es laufen mehr Dienste und Hintergrundprozesse 
  • die laufenden Anwendungen sind komplexer / umfangreicher als früher um mehr Funktionen bzw. Flexibilität zu ermöglichen
  • Prefetching lädt Inhalte, bevor sie aufgerufen werden

Das alles summiert sich. Ob das alles aber wirklich notwendig ist ist wieder eine andere Frage. Hier hat Linux die Nase ganz klar vorn. Da man als Entwickler die Freiheit hat nur das in seine Distribution hinzuzufügen, was wirklich nötig ist hat man im Gegensatz zu Windows eine wesentlich feinkörnigere Kontrolle wie hoch die Minimalanforderungen werden. Daher gibts auch spezialisierte Linux-Distros, die mit wenig auskommen (z.B. Puppy Linux mit 128MB). Windows muss hingegen eine breite Zielgruppe bedienen und die richtige Balance finden. Mit immer mehr Funktionen will man ja aber auch auf nichts bestehendes verzichten. Hin und wieder fliegt zwar mal was raus (z.B. Aero oder Windows Media Center), aber letztendlich bleibt das meiste drin und neues kommt dazu. Hier kann man dann nur noch optimieren und abwägen wann was gestartet werden soll um die Verwendung des RAMs zu reduzieren. 

Wobei man dazu sagen muss dass RAM-Auslastung ja erstmal nix schlechtes ist. Ein Betriebssystem das mit wenig auskommt ist natürlich super, aber nur solange es nicht auf Kosten der Performance geht. Das mit der RAM-Belegung wird ja erst ein Problem, wenn mehr benötigt wird als da ist oder wenn eine Software ein Memory Leak hat. Ansonsten ist der RAM ja da, ist bezahlt, kostet die ganze Zeit Energie, da kann man ihn ja auch nutzen - bevorzugt für was sinnvolles. Eines dieser sinnvollen Dinge kann z.B. das Prefetching bzw. Caching sein um die Zugriffszeiten zu erhöhen.

In der heutigen Zeit wo RAM billig zu haben ist ist die Optimierung* der RAM-Belegung für Entwickler auch oft nicht das primäre Ziel (ok, bei Betriebssystemen ist das schon eher der Fall). Allerdings ist und bleibt es keine Lösung schlampig zu programmieren. Auch wenn auf dem Desktop 4 oder 8GB längst Standard sind, gibts noch viele Bereiche wo das nicht der Fall ist, z.B. auf alten PCs, Kleinstrechnern, Mobile Geräte, Robotik oder generell Embedded Systems. Für sowas ist Windows zu schwergewichtig bzw. schlicht nicht geeignet (Prozessorarchitektur, Prozessorleistung, Geräte-Support). Das versucht Microsoft natürlich anzugehen, da sie nicht noch weiter ins Hintertreffen geraten wollen (die haben ja schon den Tablet-Markt verschlafen). Daher müssen die auch an Windows kräftig schrauben und optimieren. Von Windows 10 wirds auch eine IoT-Edition geben (das wird warscheinlich so ähnlich wie Windows CE aus früheren Tagen), bei der der Rotstift angesetzt wurde um alles was nicht sein muss rauszuwerfen um die Anforderungen zu senken und speziell für den Einsatz in eingebetteten Systemen zuzuschneiden. Was dann aber wiederum nicht wirklich für den Desktop-User geeignet ist

*Funktionen sollen ja weiterhin verfügbar bleiben. Reduziert ein Entwickler die RAM-Belegung, muss entweder mehr gerechnet (CPU) oder geladen (Festplatte) werden. Optimiert er auf CPU-Leistung wird mehr RAM (oder Festplatte) benötigt um Ergebnisse zwischenzuspeichern. Entweder man reduziert Funktion, verwendet sinnvollere Algorithmen und Datenstrukturen oder man muss halt eine Balance zwischen CPU-Arbeit und Speicheranforderung finden

Kommentar von DerLappen ,

Danke für die Super Antwort :)

Antwort
von RatKing, 2

„Niemand braucht mehr als 640kB RAM in seinem PC“ soll ja auch mal jemand gesagt haben. 

Oft Bill Gates zugeschrieben, doch der ist in diesem Fall wohl doch ausnahmsweise mal unschuldig.

FaronWeissAlles, hat es wohl ganz gut zusammen gefasst.

Antwort
von Michael051965, 1

klar und für Windows 95/98 kam ich mit 16 MB locker aus.

Dafür hatte ich auch weniger Funktionen.

Jedes neue Betriebssystem kann mehr Aufgaben bewältigen und es muss dafür mehr berechnet werden. Und damit die CPU das packt wird so viel wie möglich in den RAM zwischengespeichert weil der zugriff von dort schneller geht.

Antwort
von Pr0fessor, 1

Zum einen verbraucht das OS an sich schon etwas mehr RAM durch funktionen und hintergrundprozesse. Und zum anderen lädt Windows Daten im vorraus (prefetch) um dann dieses Programm schneller starten zu können.  Bedenke dabei auch dass der PC bzw. das Betriebssystem nicht schneller läuft wenn nur wenig RAM genutzt wird.

Keine passende Antwort gefunden?

Fragen Sie die Community