Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ermittelter RAM nicht genau, warum? (https://www.delphipraxis.net/76777-ermittelter-ram-nicht-genau-warum.html)

Mazel 9. Sep 2006 16:47


Ermittelter RAM nicht genau, warum?
 
Hallo,

ich möchte den RAM ermitteln, dies mach ich folgendermaßen:

Delphi-Quellcode:
var
 Memory: TMemoryStatus;
...

Memory.dwLength := SizeOf(Memory);
GlobalMemoryStatus(Memory);
Gesamt2.Caption := IntToStr(Memory.dwTotalPhys div 1024 div 1024) + ' MB';
//Gesamt2.Caption:=IntToStr(Round(Memory.dwTotalPhys / 1024 / 1024))
Dabei stimmt das Ergebnis (bei beiden Varianten) nicht mit dem überein was Windows mir sagt:
- ich habe 768 MB, zeigt mir aber nur 767 MB an
- bei einem Freund sind 1024 MB drinn, angezeigt werden nur 1022 MB

Woran kann das liegen?

Gruß
Mazel

igel457 9. Sep 2006 16:49

Re: Ermittelter RAM nicht genau, warum?
 
Ich denke doch mal (oder ich vermute), dass die Hardware ein bisschen von dem Speicher abzwackt um ihn überhaupt zu verwalten zu können. Windows bekommt davon nichts mit und zeiht deshalb den Arbeitsspeicher ohne die Indexstruktur an.

Mazel 9. Sep 2006 16:53

Re: Ermittelter RAM nicht genau, warum?
 
Wenn dem so ist, wie bekommt Windows das den mit? Hat jeder RAM eine Nummer wo Windows erkennt um viel es sich handelt und rechnet das intern zusammen?

mirage228 9. Sep 2006 17:19

Re: Ermittelter RAM nicht genau, warum?
 
Hi,

Ich hatte mal das selbe Problem.
Hier die Ursache und ggf. Lösung: http://www.delphipraxis.net/internal...ct.php?t=49918

mfG
mirage228

Mazel 9. Sep 2006 17:51

Re: Ermittelter RAM nicht genau, warum?
 
Hi,

genau, selbes Problem aber leider keine richtige Lösung. Man müsste dan wirklich immer genau schauen wie weit es abweicht um es dann zu runden, aber das geht bestimmt noch besser.

Gruß
Mazel

3_of_8 9. Sep 2006 17:55

Re: Ermittelter RAM nicht genau, warum?
 
Die Abweichung ist konstant.

Mazel 9. Sep 2006 18:03

Re: Ermittelter RAM nicht genau, warum?
 
Hi,

ok stimmt ich hab jetzt 2 Freunde testen lassen die 1024 MB haben und ich habe mich damals wohl verlesen, es sind nicht 1022 die angezeigt werden sondern 1023, was also bedeutet das die Abweichung immer gleich ist.

Danke

Gruß
Mazel

Muetze1 9. Sep 2006 18:13

Re: Ermittelter RAM nicht genau, warum?
 
Es wird der shared memory der Grafikkarte abgezogen.

BenjaminH 9. Sep 2006 18:14

Re: Ermittelter RAM nicht genau, warum?
 
aber da ist es doch unwahrscheinlich, dass das nur 1MB ist..

himitsu 11. Sep 2006 15:04

Re: Ermittelter RAM nicht genau, warum?
 
Das BIOS und ähliche Dinge legen auch mal gerne eine "schnelle" Kopie von sich an, davon bekommt Windows dann auch nichts mit.

Mann könnte sich in soeinem Fall dann wohl nur irgendwie direkt an die Hardware (den RAM) wenden.

Muetze1 11. Sep 2006 19:15

Re: Ermittelter RAM nicht genau, warum?
 
Zitat:

Zitat von himitsu
Das BIOS und ähliche Dinge legen auch mal gerne eine "schnelle" Kopie von sich an, davon bekommt Windows dann auch nichts mit.

Da wird aber nix abgezogen, da der ROM in den RAM kopiert wird, welcher eh vom ROM verdeckt wird (selbe Adresse) und dann wird der RAM an Stelle des ROMs eingeblendet. Daher wird nix abgezogen. Die ROMs sind eh im UMB Bereich (also > 768 kByte und < 1 MB) und der wird so oder so immer mit eingerechnet.

himitsu 12. Sep 2006 14:41

Re: Ermittelter RAM nicht genau, warum?
 
Na ja, dann bleibt noch die Variante, daß der RAM tatsächlich etwas für sich selber abzwackt, oder tatsächlich ein paar Byter fehlen (heut wird ja überall gesparrt), oder etwas ist defekt und daher deaktivert/nicht verfügbar, oder ... :gruebel:

Christian Seehase 12. Sep 2006 15:06

Re: Ermittelter RAM nicht genau, warum?
 
Moin Marcel,

die Abweichung ist übrigens nicht immer gleich.
Ich sitze hier an einem Rechner, der 1022 meldet.

Mazel 12. Sep 2006 15:55

Re: Ermittelter RAM nicht genau, warum?
 
Hi,

also habe ich mich damals doch nicht geirrt :-D . Es gibt also Rechner die 1022 oder 1023 melden.

Nun muss man nur noch herausfinden wo der restliche Anteil hingeht und wie ich das am besten den richtigen Wert anzeigen lasse.

Danke Christian.

Gruß
Mazel

shmia 12. Sep 2006 16:38

Re: Ermittelter RAM nicht genau, warum?
 
Ist es nicht so, dass 1 kB für die 256 (Software-)Interupts vom Haupt Speicher abgezogen werden,
da sie nicht für Code oder Daten benützt werden können?
Zusätzlich wird dann auch noch Shared Memory (z.B. für Grafikkarte) abgezogen.

vlees91 12. Sep 2006 16:54

Re: Ermittelter RAM nicht genau, warum?
 
bei mir auch 1022mb


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:53 Uhr.

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