Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi RAM Optimizer (https://www.delphipraxis.net/21022-ram-optimizer.html)

HomerGER 26. Apr 2004 21:14


RAM Optimizer
 
Hallo
weiß jemand wie ich ein RAM Optimizer programmiere
ich weiß leider noch nicht mal den ansatz
welchen teil des speichers ich auslesen mus und welchen ich noch freigeben kann

SirThornberry 26. Apr 2004 21:16

Re: RAM Optimizer
 
Der einfachste ansatz ist glaube soviel speicher anzufordern wie der arbeitsspeicher groß ist. Somit wird dieser leergeräumt und das zeugs in die auslagerungsdatei verschoben. Dann gibst du den speicher wieder frei den du angefordert hast und somit ist wieder bissl platz im arbeitsspeicher.

Luckie 26. Apr 2004 22:03

Re: RAM Optimizer
 
Sollche Tools sind meiner Meinung totaler Quatsch. Man zwingt damit Windows alles auszulagern. Schön und was hat man davon? Gar nichts - eher Nachteile.

Warum hat man nichts davon? Nehmen wir an der Arbeitsspeicher ist "voll" und ich starte jetzt eine speicherintensive Anwending, dann lagert Windows automatisch aus damit diese neugestartete Anwendung genug Speicher hat. Und braucht sie mehr, bekommt sie auch mehr.

Zwinge ich jetzt Windows dazu den RAM frei zu schaufeln, hat das den Effekt, das Windows sofort alles was es benötigt wieder nachladen muss, während wenn ich das Speichermanagement Windows überlasse, Windows selbst entscheiden kann, welche Speicherseiten erstmal nicht gebraucht werden uns ausgelagert werden können.

Fazit: Ich meine, man fährt immer besser damit, aus Performancegründen, nicht in das Speichermanagement von Windows einzugreifen. Denn nur Windows weiß am besten, wie es den Speicher für sich am effizientesten organisiert.

morbo 26. Apr 2004 22:28

Re: RAM Optimizer
 
Zitat:

Zitat von HomerGER
Hallo
weiß jemand wie ich ein RAM Optimizer programmiere
ich weiß leider noch nicht mal den ansatz
welchen teil des speichers ich auslesen mus und welchen ich noch freigeben kann

Hi,
du könntest fragmentierten Speicher a la defrag wieder in Form bringen. Sollte bei Allem was etwas länger läuft einen Vorteil bringen.

Gruß

HomerGER 26. Apr 2004 23:48

Re: RAM Optimizer
 
@Luckie - ich mus dir aus vollen herzen recht geben
beispiel :
speicher : 512MB
belegte speicher ca. 254
frei speicher ca. 258 warum soll ich jetzt noch was freigeben

ja ja ich weiß es gibt fälle wo ne menge auf ist und dann der peicher schnell verbraucht wird und win anfängt auszulagern

aber leider soll ich sowas schreiben und ich weiß wirklich nicht wie ich da anfangen soll

@morbo das mit den defrag hört sich gut, an hast du auch ein ansatz ?

jbg 27. Apr 2004 00:36

Re: RAM Optimizer
 
Zitat:

Zitat von HomerGER
@morbo das mit den defrag hört sich gut, an hast du auch ein ansatz ?

Dann erlange mal die Rechte um auf Ring 0 zu laufen, damit dich der Prozessor an das Paging heran lässt. Wenn du das dann doch irgendwie geschafft hast, kannst du die Speicherseiten nach Lust und Laune verschieben (nicht nur Adressen austauschen, sondern auch im physikalischen Speicher herumkopieren). Wenn du das dann hast, musst du Windows irgendwie beibringen, dass die Speicherseiten nun nicht mehr dort sind, wo sie vor deiner Aktion waren. Das ist natürlich nicht notwendig, wenn Windows nur die vom Prozessor bereitgestellten Mittel zur Verwaltung benutzt, was es aber sicherlich nicht macht.

Meine Meinung zu Speicherdefragmentierung:
Ich halte das Defragmentieren von Arbeitsspeicher für Schwachsinn. Zum einen macht es keinen Geschwindigkeitsunterschied bei RAM aus, wenn du querfeldein auf den Speicher zugreifst und zum anderen muss nichts mechanisches, wie z.B. bei der Festplatte, bewegt werden.
Des weiteren kann der Speicher aus Sicht einer Anwendung fast gar nicht fragmentieren, denn im den 4 GB großen virtuellen Adressraum, bei dem 2 GB zur freien Verfüngung stehen, ist normalerweise immer genug Platz.

negaH 27. Apr 2004 00:45

Re: RAM Optimizer
 
Zitat:

Ich halte das Defragmentieren von Arbeitsspeicher für Schwachsinn. Zum einen macht es keinen Geschwindigkeitsunterschied bei RAM aus, wenn du querfeldein auf den Speicher zugreifst
Jay, das stimmt wenn man den RAM alleine betrachtet. Es stimmt aber nicht mehr wenn man die Caches in die Rechnung mit einbezieht. Es macht ab diesem Moment einen gewaltigen Unterschied ob man wahllos oder sequentiell den RAM anspricht. Angenommen wir haben 512Kb Cache und dessen Cache-Line wurde auf utopische 512Kb eingerichtet. Wird nun per Zufall immer 1 Byte aus 512Mb RAM geladen, aber so das niemals 2 nachfolgende Bytes innerhalb von 512Kb im RAM liegen, dann veranlasst das Caching für JEDES gelesene Byte jeweils 512Kb aus dem RAM zu lesen. Statt also 1 Byte pro Zugriff werden 512Kb gelesen. In diesem utopischen Fall, der aber exakt erklärt warum ein großer Cache nicht unbedingt alles schneller macht, würde man ein Slowdown von 1/524288 erreichen, scheinbar wäre der Rechner dann also 524288 mal langsammr als gewohnt.

Allerdings, die Kernaussage ist absolut richtig. Ein RAM Defragmentierer ist Schwachsinn, und ein Risiko obendrein.

Gruß Hagen

HomerGER 27. Apr 2004 00:47

Re: RAM Optimizer
 
was machen dann aber solche RAM Optimizer wie bei TuneUp Utility usw weiter ?

Luckie 27. Apr 2004 00:48

Re: RAM Optimizer
 
Augenwischerei?

HomerGER 27. Apr 2004 00:54

Re: RAM Optimizer
 
das wollte ich hören
denn mein tool sollte nur sinnvolle einstellungen machen die auch was bringen
dann lass ich erstmal die finger davon


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:43 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz