AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Memory Mapped Files

Ein Thema von bono_82 · begonnen am 18. Apr 2007 · letzter Beitrag vom 22. Apr 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Problem mit Memory Mapped Files

  Alt 19. Apr 2007, 14:51
Allerdings ist /3GB auch nicht ganz ohne, da der Kernel dann mit der Hälfte der üblichen Speichermenge auskommen muss, es gibt Fälle in denen das dann eng wird - oder auch gar nicht mehr passt.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Problem mit Memory Mapped Files

  Alt 19. Apr 2007, 14:55
Zitat von DMW:
Nein, auch unter Win32 ist es möglich, einem Programm 3 GB Speicher zuzuteilen, indem man Windows mit der Kerneloption /3GB startet und entsprechende Linkereinstellungen tätigt.
OK.
Zitat von DMW:
Unter Win64 ist der Speicher bei den gegenwärtigen Versionen AFAIK auf 8192 GB begrenzt.
Was meinst Du damit? Delphi kann nur 32-Bit und damit nur 4 GB Adressieren oder meinst du Windows. Dort hängte es dan vom Windows-Speichermanager ab was der einem Prozess zuordnen kann/darf.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
DMW

Registriert seit: 6. Sep 2006
Ort: Münster
269 Beiträge
 
Delphi XE Professional
 
#13

Re: Problem mit Memory Mapped Files

  Alt 19. Apr 2007, 17:44
Zitat von Bernhard Geyer:
Was meinst Du damit? Delphi kann nur 32-Bit und damit nur 4 GB Adressieren oder meinst du Windows. Dort hängte es dan vom Windows-Speichermanager ab was der einem Prozess zuordnen kann/darf.
Natürlich, Delphi kann, solange es keinen 64-Bit-Compiler hat, nur die unter Win32 übliche Speichermenge, also 2 bzw. 3 GB, adressieren. Das System hingegen ist in der Lage, mit bis zu 8192 GB RAM pro Applikation umzugehen - z.B. mit VC++ ist das ausnutzbar.
Moritz
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#14

Re: Problem mit Memory Mapped Files

  Alt 20. Apr 2007, 01:34
Ich bin auch fuer die "Fenster"-Variante welche von OldGrumpy und Robert erwaehnt wurde.

Zitat von sirius:
Und warum nimmst du nicht ein TFileStream? MMFs sind ja nicht für große Dateien gedacht sondern für IPC, IMHO.


Zitat von bono_82:
@sirius:
MMF's kann man meiner Ansicht nach auch für den Umgang mit sehr großen Dateien verwenden, da die bearbeitete Datei auf der Festplatte bleibt und ich mir nur bestimmte Abschnitte in den Speicher holen möchte.
MMFs sind quasi die Umkehrung des Prinzips einer Auslagerungsdatei. Entsprechend landet es auch nicht automatisch im echten Speicher (sprich RAM), selbst wenn du einen View auf einen Abschnitt erstellst. Ansonsten volle Zustimmung.

Zitat von DMW:
Nein, auch unter Win32 ist es möglich, einem Programm 3 GB Speicher zuzuteilen, indem man Windows mit der Kerneloption /3GB startet und entsprechende Linkereinstellungen tätigt.
Strikt gesagt ist das eine Windows NT Option.

Zitat von DMW:
Unter Win64 ist der Speicher bei den gegenwärtigen Versionen AFAIK auf 8192 GB begrenzt.
... woher sind die Zahlen? Habe da etwas leicht anderes sowohl bzgl. der aktuellen Implementationen der CPU (also Hardware) als auch der Implementation von Windows (also Software) gehoert. Soweit ich mich entsinne war die Rede von 16TB Gesamtadressraum wovon "nur" um die 128GB fuer den Kernel reserviert waren und der Rest fuer Userspace (oder umgekehrt?!). Jedenfalls kommt das nicht mit deinen Zahlen zusammen.
  Mit Zitat antworten Zitat
DMW

Registriert seit: 6. Sep 2006
Ort: Münster
269 Beiträge
 
Delphi XE Professional
 
#15

Re: Problem mit Memory Mapped Files

  Alt 21. Apr 2007, 09:59
Zitat von Olli:
... woher sind die Zahlen? Habe da etwas leicht anderes sowohl bzgl. der aktuellen Implementationen der CPU (also Hardware) als auch der Implementation von Windows (also Software) gehoert. Soweit ich mich entsinne war die Rede von 16TB Gesamtadressraum wovon "nur" um die 128GB fuer den Kernel reserviert waren und der Rest fuer Userspace (oder umgekehrt?!). Jedenfalls kommt das nicht mit deinen Zahlen zusammen.
Von der CPU her geht natürlich deutlich mehr (2^64 = 17179869184 GB). Der Speicher, den Windows einem Prozeß maximal zuteilen kann, liegt aber bei 8192 GB (zzgl. die von dir erwähnten 128 GB je für Kernel, Systemcache, ausgelagerten und nicht ausgelagerten Pool). Die Zahlen habe ich aus "Windows Internals" von Mark Russinovich und David Solomon entnommen.
Moritz
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#16

Re: Problem mit Memory Mapped Files

  Alt 22. Apr 2007, 00:03
Zitat von DMW:
Von der CPU her geht natürlich deutlich mehr (2^64 = 17179869184 GB). Der Speicher, den Windows einem Prozeß maximal zuteilen kann, liegt aber bei 8192 GB (zzgl. die von dir erwähnten 128 GB je für Kernel, Systemcache, ausgelagerten und nicht ausgelagerten Pool). Die Zahlen habe ich aus "Windows Internals" von Mark Russinovich und David Solomon entnommen.
Alles klar. So macht das Sinn. Effektiv sind es dann naemlich wieder 16TB (oder TiB), weil ja zumindest nominell eine Haelfte dem UM und eine dem KM gehoert. Mir fiel uebrigens ein, dass sich meine damaligen Infos (noch in 2005) auf die x64-Versionen von XP und 2003 (im Kernel eh identisch) bezogen. Aber bei Vista duerfte sich da nichts wesentliches geaendert haben.

NonPagedPool hoert sich doch viel besser an als die deutsche Variante, findest du nicht?
  Mit Zitat antworten Zitat
DMW

Registriert seit: 6. Sep 2006
Ort: Münster
269 Beiträge
 
Delphi XE Professional
 
#17

Re: Problem mit Memory Mapped Files

  Alt 22. Apr 2007, 09:34
Zitat von Olli:
Effektiv sind es dann naemlich wieder 16TB (oder TiB), weil ja zumindest nominell eine Haelfte dem UM und eine dem KM gehoert.
Das ist laut Windows Internals allerdings nur bei den 32-Bit-Versionen so; in den 64-Bit-Versionen gelten für die Kernel-Mode-Adreßräume die von mir oben genannten Zahlen (in der IA-64-Version hat der User-Mode-Adreßraum allerdings nur 7152 GB).


Zitat von Olli:
NonPagedPool hoert sich doch viel besser an als die deutsche Variante, findest du nicht?
Vielleicht, aber insgesamt ist das Buch IMHO trotzdem hervorragend übersetzt
Moritz
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#18

Re: Problem mit Memory Mapped Files

  Alt 22. Apr 2007, 10:28
Zitat von DMW:
Zitat von Olli:
Effektiv sind es dann naemlich wieder 16TB (oder TiB), weil ja zumindest nominell eine Haelfte dem UM und eine dem KM gehoert.
Das ist laut Windows Internals allerdings nur bei den 32-Bit-Versionen so; in den 64-Bit-Versionen gelten für die Kernel-Mode-Adreßräume die von mir oben genannten Zahlen (in der IA-64-Version hat der User-Mode-Adreßraum allerdings nur 7152 GB).
16 Tebibyte mit 32bit? Glaub ick net!

Zitat von DMW:
Zitat von Olli:
NonPagedPool hoert sich doch viel besser an als die deutsche Variante, findest du nicht?
Vielleicht, aber insgesamt ist das Buch IMHO trotzdem hervorragend übersetzt
K.A., ich besitze noch irgendwo die Ausgabe welche fuer Windows 2000 aktuell war. Aber irgendwie war mir die damals zu oberflaechlich, weshalb ich keine neue Ausgabe gekauft habe.
  Mit Zitat antworten Zitat
DMW

Registriert seit: 6. Sep 2006
Ort: Münster
269 Beiträge
 
Delphi XE Professional
 
#19

Re: Problem mit Memory Mapped Files

  Alt 22. Apr 2007, 10:39
Zitat von Olli:
16 Tebibyte mit 32bit? Glaub ick net!
Das
Zitat von DMW:
Das ist laut Windows Internals allerdings nur bei den 32-Bit-Versionen so
bezog sich auf die Zweiteilung des Adreßraumes. Sorry für die Mißverständlichkeit


Zitat von Olli:
K.A., ich besitze noch irgendwo die Ausgabe welche fuer Windows 2000 aktuell war. Aber irgendwie war mir die damals zu oberflaechlich, weshalb ich keine neue Ausgabe gekauft habe.
Die Edition für Windows 2000 kenne ich nicht, aber allem, was ich gelesen habe, zufolge, war damals die Übersetzung deutlich schlechter. Und über die in der aktuellen Edition kann ich mich wirklich nicht beklagen
Moritz
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#20

Re: Problem mit Memory Mapped Files

  Alt 22. Apr 2007, 11:46
Zitat von DMW:
Zitat von Olli:
K.A., ich besitze noch irgendwo die Ausgabe welche fuer Windows 2000 aktuell war. Aber irgendwie war mir die damals zu oberflaechlich, weshalb ich keine neue Ausgabe gekauft habe.
Die Edition für Windows 2000 kenne ich nicht, aber allem, was ich gelesen habe, zufolge, war damals die Übersetzung deutlich schlechter. Und über die in der aktuellen Edition kann ich mich wirklich nicht beklagen
Wuerde mir ohnehin dann gleich die englische Ausgabe kaufen. Ich selber habe kein Problem die zu lesen und meine Kollegen haetten dann auch noch was davon.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 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