Wieviel Arbeitsspeicher kann Windows XP maximal für Anwendungen nutzen?

Im Unterforum Off-Topic - Beschreibung: Alles andere was nirgendwo reinpasst

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 26 4 2024  22:25:26      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Off-Topic        Off-Topic : Alles andere was nirgendwo reinpasst

Gehe zu Seite ( 1 | 2 Nächste Seite )      


Autor
Wieviel Arbeitsspeicher kann Windows XP maximal für Anwendungen nutzen?
Suche nach: windows (2472)

    







BID = 409812

djtechno

Inventar



Beiträge: 4955
Wohnort: beutelsbach
Zur Homepage von djtechno ICQ Status  
 

  


Hallo, meine Frage ist, wie viel Anwendugnsspeicher kann Windows XP MAXIMAL für anwendungen nutzen? 2 GB, 3 GB oder 4GB?

Soweit ich weiß wird ja in Systemspeicher (für kernel,gerätetreiber) und Anwendungen unterteilt. 4 GB ist der 32 Bit adressraum.

Wieviel der 4 GB steht maximal für die geladenen Anwendugnen zur Verfügung, und wieviel nehmen system, und treiber bei einem stark "beladenen" system im systemspeicher etwa ein.

Weil, ich habe 512 mb ram, und will die auslagerungsdatei so groß machen daß ein maximum an speicher verfügbar ist.

hatte bisher in der annahme das 2 gb das "harte" limit sind 512 mb ram + 1536 b swap gesetzt.

Das wird bei mir aber ab und an mal knapp.

nun habe ichd ie swapfile auf 3584 mb hochgesetzt, also insgesammt sind nun die 4 GB adressraum voll. Frage ist nur, obs was bringt, oder ob ich hier nur festplattenspeicher verschwende, weil XP den Speicher ja vielleicht gar nicht voll ausnutzen wird/kann, auch, wenn mal wieder was am laufen ist, was sehr ram intensiv ist...

Marcus


_________________
Ehemaliger forennutzer (ausgetreten)

BID = 409815

Gilb

Urgestein



Beiträge: 16262
Wohnort: Gardine (Gardinenhof)
Zur Homepage von Gilb

 

  

Hallo Marcus,

ich fand vor einiger Zeit eine prima Seite im Internet, wo es um Tuning des Windows XP geht: http://www.windows-tweaks.info/html/windows-xp.html

Hier wird z.B. auch der Arbeitsspeicher intensiv behandelt:
http://www.windows-tweaks.info/html/systemtuning.html
(Etwas runterscrollen, da oben nur ein paar Werbeeinträge stehen.)
Tipp 1, 3 und 5 kann ich wärmstens empfehlen, die anderen aber bitte auch mal studieren.

MfG
der Gilb

BID = 410241

Racingsascha

Schreibmaschine



Beiträge: 2247
Wohnort: Gundelsheim
ICQ Status  

ich würde nicht unbedingt den festplatten"RAM" größer machen, da Windows u.U denkt "aaah da is ja noch soooviel freier RAM, da pack ich jetzt mal was rein" und ruckzuck wird das system langsamer weil die Platte nicht mit schreiben und lesen hinterherkommt. lieber einen zusätzlichen RAM-riegel kaufen.

BID = 410481

bastler16

Schreibmaschine

Beiträge: 2140
Wohnort: Frankreich

Mag zwar OT sein, aber funktioniert Tipp 3 wirklich???

Ein vbs mit einer Zeile ("Mystring = (16000000)") defragmentiert den RAM?

BID = 410487

Gilb

Urgestein



Beiträge: 16262
Wohnort: Gardine (Gardinenhof)
Zur Homepage von Gilb

Ja, bastler16,

das reicht, um einen Teil des Arbeitsspeichers für eine Variable zu reservieren.
Dann kommt die "Intelligenz" von Windows zum Einsatz, die dann feststellt, dass
der Platz dafür im Arbeitsspeicher nicht am Stück frei ist, und Windows selber
"defragmentiert" daraufhin den Arbeitsspeicher.

So stellt es sich der Gilb jedenfalls vor.


der Gilb

BID = 410488

Jornbyte

Moderator



Beiträge: 7079


Zitat :
ich würde nicht unbedingt den festplatten"RAM" größer machen, da Windows u.U denkt "aaah da is ja noch soooviel freier RAM, da pack ich jetzt mal was rein"

Die Auslagerungsdatei wird im Verhältnis zum richtigen Ram angelegt. Wird die Auslagerungsdatei größer angegeben, so wird nur der benötigte und vom realen Ram abhängige Platz belegt.

_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 410506

djtechno

Inventar



Beiträge: 4955
Wohnort: beutelsbach
Zur Homepage von djtechno ICQ Status  

Ja, gut, RAM aufrüsten ist immer am besten. Werde mal kucken, ob mein Notebook die üblichen mini simms bzw mini dimms hat,und wie viel die sache kostet ...

Marcus

_________________
Ehemaliger forennutzer (ausgetreten)

BID = 410543

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika


Zitat :
bastler16 hat am 28 Feb 2007 20:53 geschrieben :

Mag zwar OT sein, aber funktioniert Tipp 3 wirklich???

Ein vbs mit einer Zeile ("Mystring = (16000000)") defragmentiert den RAM?


Das ist natürlich ... lass mich nachdenken ... Kokoloris.


_________________

BID = 410550

Gilb

Urgestein



Beiträge: 16262
Wohnort: Gardine (Gardinenhof)
Zur Homepage von Gilb

Das ist schnell gesagt / geschrieben.
Aber was passiert da wirklich?

BID = 410551

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Es wird sicherlich nicht der komplette Arbeitsspeicher umgeschrieben / defragmentiert.
Windows hat eine eigene Arbeitsspeicherverwaltung, der man nicht reinfunken sollte - Ich frage mich immer wieder, warum manche Systeme jahrelang wunderbar laufen (meines) und andere solche blöden "Tuning"-Sachen machen.

Ich denke eher, hier handelt es sich um Pseydoeffekte.

Aber gut, vielleicht ist diese eine Zeile ja die Lösung, nach der schon immer alle gesucht haben. Ich werde zumindestens kein Visual Basic Script auf meinem Rechner ausführen






_________________

BID = 410553

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

So, lieber Gilb,

mache bitte folgendes:

Öffne eine Textdatei und schreibe folgenden Inhalt rein:

Mystring = (10)
Schwabbel = (20)
WScript.Echo Mystring + Schwabbel

Dann speicherst du die tolle Datei als "Wunderwerk RAM.vbs" und führst sie aus.

Du kannst ja deine herausragenden Ergebnisse hier präsentieren...





PS: Da sieht man mal, von einer Quelle wird immer schön abgeschrieben, egal, ob es Sinn macht oder nicht.

Man Man


Edit:
Mit diesem Aufruf wird eine Variable deklariert, die mit einem Wert, der oben angegeben ist, rein theoretisch 3 Bytes im RAM füllt. Nämlich die Zahl 111101000010010000000000b. Zumindestens passiert etwas im RAM...

_________________


[ Diese Nachricht wurde geändert von: DonComi am 28 Feb 2007 23:42 ]

BID = 410555

Gilb

Urgestein



Beiträge: 16262
Wohnort: Gardine (Gardinenhof)
Zur Homepage von Gilb

Der Tipp war ja für Zocker gedacht, die sich wunderten, warum ein gestartetes Spiel nur "kriecht", nachdem sie vorher die verschiedensten Programme gestartet hatten.
Es ist ja keins von den bösen Visual-Basic-Scripts, die man sich per E-Mail einfangen kann.
Der Quelltext liegt ja vor: Es wird nur eine Variable definiert.
Drch deren Größe zwingt sie Windows, den Speicher "aufzuräumen".
Es hat wohl nicht viel mit dem Defragmentiern von Festplatten gemeinsam.
Ich lasse es seit einiger Zeit immer mal starten, bevor ich von meinen (teils sehr großen) Arbeitsprogrammen zu einem Spiel wechsele. Bevor ich das Spiel starte lasse ich aber auch noch die Batchdatei aus dem Tweakforum laufen. Sie zieht Ruhezeiten-Aktivitäten von Windows vor und enthält auch nur eine Zeile: Rundll32.exe advapi32.dll,ProcessIdleTasks
Macht genau das, was dich sicher auch schon mal gewundert hat:
Nach einer gewissen Untätigkeit am PC fängt auf einmal die Festplatte an, zu "Rödeln".
(Da wird wohl der virtuelle Arbeitsspeicher bereinigt)?

Jedenfalls möchte ich behaupten, dass Spiele oder auch größere Anwendungen danach flüssiger laufen.
Geschadet hat es noch in keinem mir bekannten Fall.

Empfiehlt nett
der Gilb

NACHTRAG:
Ach, ich sehe gerade vorm Abschicken, dass Du noch etwas geschrieben hast.
Soll ich jetzt für die Tweaks-Seite hier die ganzen Erklärungen wiederholen und die hervorragenden Techniker hier rechtfertigen?
Die haben auch ein Forum, nerv' die damit, wenn Du es nicht glauben magst.

BID = 410556

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Gilb, du hast mich falsch verstanden.
Ich deklariere eine Varialble, die zufällig "Mystring" heißt, es geht aber auch mit anderen Namen. Wenn ich dieser Variablen den Wert zuordne, dann sind das grade mal 3 Bytes, die durch diese Zahl irgendwo im 100erte Megabyte-großen RAM belegt werden. (rein theoretisch natürlich, es werden in der Realität wohl mehr als 3 Bytes sein)
Durch meine drei Zeilen unten wollte ich deutlich machen, dass es Deklarierungen mit Zuweisung der Werte sind und nicht viel im RAM gerödelt wird.


Edit:
Aber vllt. hast du Recht, und ich sollte einfach lieber ins Bett gehen. Ich bin etwas gereizt (ganzen Tag gerödelt )




_________________


[ Diese Nachricht wurde geändert von: DonComi am  1 Mär 2007  0:14 ]

BID = 410583

Gilb

Urgestein



Beiträge: 16262
Wohnort: Gardine (Gardinenhof)
Zur Homepage von Gilb

Sorry, DonComi,

auch ich war schon zu müde und verstimmt.

Über die genauen Zusammenhänge und Funktionen in Windows weiß ja kaum jemand wirklich bescheid.

Ich kaufte mir vor Jahren ein gut 2.000 Seiten starkes Buch "Windows-Kompendium" (oder so ähnlich) zu Windows 95 und war nach intensivem Studium auch nicht viel besser informiert.
Fast das Einzige, was hängenblieb, war die Phrase "Preemptives Multitasking", was die ganze Verarsche auf den Punkt bringt, denn es bedeutet soviel wie, dass anscheinend gleichzeitig abzuarbeitendende Tasks doch nacheinander ausgeführt werden.

Vielleicht sind manche Tuningtipps wirklich glaubensabhängig, wie es ja auch in der Medizin und Pharmazie üblich ist.

Einen schönen Tag
der Gilb

BID = 410597

cholertinu

Inventar



Beiträge: 3755
Wohnort: CH

Ihr bringt da ziemlich was durcheinander.

Das vom Gilb erwähnte Script zum Ausführen der Idle-Tasks mag Sinn machen. Da werden die sonst irgendwann später automatisch ausgeführten Arbeiten zum gewollten Zeitpunkt gestartet.

Zum RAM Defragmentieren:
Das ist absoluter Quatsch. Durch das Script wird ein bisschen RAM belegt, wie DonComi richtig bemerkt hat nur einige wenige Byte. Wo genau der Memory-Block reserviert wird, darauf hat der User schlicht und einfach gar keinen Einfluss. Das erledigt die MMU selbst.
Diese ist heute meist in die CPU integriert, das Memory-Management ist aber in Hardware implementiert (weil es sehr schnell sein muss).

Das Memory ist in sogenannten Pages organisiert, meist haben die eine Grösse von 4kByte. Wenn also 3Byte alloziert werden, dann wird physikalisch trotzdem ein 4kByte Block belegt.

Zur Arbeit der MMU:
Jeder laufende Prozess hat seinen eigenen virtuellen Memory-Bereich (heute in der Regel 4GByte). Diese virtuellen Adressen werden von der MMU in den physikalisch vorhandenen Speicher "übersetzt".
Wenn nun der physikalisch vorhandene Speicher kleiner ist als der benutzte Speicher der Prozesse, dann kommt die Auslagerungsdatei ins Spiel.
Das Betriebssystem lagert länger nicht benutzte Pages auf die HD aus.
Bei einem Zugriff auf eine ausgelagerte Page generiert die MMU einen Page-Fault, worauf das OS die ausgelagerte Page wieder einlagert.
Wie schlau dieses Ein- und Auslagern gelöst ist, davon hängt viel ab wie schnell ein System schlussendlich läuft, weil die HD-Zugriffe im Vergleich zu RAM-Zugriffen extrem langsam sind.

Wie genau nun die Pages organisiert werden, darauf hat das .vbs Skript schlicht keinen Einfluss.
Beim Abspeichern der paar Bytes schreibt der aktuelle Prozess (wo das .vbs Script läuft) seine Daten in seinen virtuellen Adressraum. Wo diese Daten physikalisch abgelegt werden, darauf hat der Prozess und somit das Skript schlicht keinen Einfluss.

Fazit: Vergesst den Humbug von wegen RAM defragmentieren!
Sind dazu noch Fragen?

Noch zu der Bemerkung vom Gilb bezüglich (preemptive)Multitasking:
Das heisst nichts anderes, als dass ein Thread die Kontrolle freiwillig abgeben muss, damit irgend etwas anderes inkl. das OS selbst, jemals wieder vom Scheduler an die Reihe kommt. Wenn in einen Win95 System ein Programm mit einer unterbruchslosen while(1) Schlaufe abläuft steht das System still.

Mittlerweile kann sogar der Windows-Scheduler etwas mehr. Ein blockierendes Programm in XP würgt nicht das ganze System ab, weil der Scheduler nun ein Scheduling/Multitasking auf Zeitbasis unterstützt, d.h. jeder Prozess/Thread kommt eine gewisse Zeit lang an die Reihe, dann wird er unterbrochen und der nächste darf ran.

So hat man das Gefühl, als würden die Prozesse parallel laufen, in Wirklichkeit läuft aber immer noch alles sequenziell ab. Wie sollte ein einzelner Prozessor auch zwei Dinge gleichzeitig tun können?

Das echte Multitasking wird erst mit Mehrkern-Prozessoren möglich, wenn jeder Kern einen eigenen Thread bearbeiten kann.

Sodele, das sollte vorerst genügen. Fragt ruhig nach wenn etwas unklar sein sollte.

Gruss, Martin

Angehängt ist ein Screenshot des Taskmanagers mit eingeschalteter PageFault Spalte. Öffnet mal sehr viele Programme gleichzeitig und ihr werdet sehen, dass diese massenweise Pagefaults generieren.




      Nächste Seite
Gehe zu Seite ( 1 | 2 Nächste Seite )
Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 24 Beiträge im Durchschnitt pro Tag       heute wurden bisher 20 Beiträge verfasst
© x sparkkelsputz        Besucher : 180995041   Heute : 6586    Gestern : 7469    Online : 543        26.4.2024    22:25
13 Besucher in den letzten 60 Sekunden        alle 4.62 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0530710220337