VIRTUALADRESSLIMIT in Config.sys

(DE) System, Installation, Konfiguration, Hardware, Treiber, Netzwerk, Virtualisierung, etc.
(EN) System, Installation, Configuration, Hardware, Drivers, Network, Virtualisation, etc.
Antworten
Martin Vieregg
Beiträge: 459
Registriert: Di 19. Aug 2014, 09:30

VIRTUALADRESSLIMIT in Config.sys

Beitrag von Martin Vieregg »

Ich habe mit pmView ein Speicherproblem bei großen Dateien, es kommt die Fehlermeldung, dass nicht genügend Speicher da wäre und man das VIRTUALADDRESSLIMIT hochsetzen soll. Mein Speicherausbau ist 2 GB, unter VIRTUALADRESSLIMIT ist 1536 eingetragen. Was ist der richtige Wert? Unter Windows 2000 auf derselben Hardware funktioniert es. Ich glaube auch nicht, dass ich wirklich so viel Speicher benötige, ich will nur ein 4000x4000 Pixel Bild in ein 8000x8000 Bild per Zwischenablage hineinkopieren, das müßte eigentlich um mindestens Faktor 10 weniger sein als 1,5 GB.
Andi B.
Beiträge: 742
Registriert: Di 24. Dez 2013, 16:40
Kontaktdaten:

Beitrag von Andi B. »

... dass nicht genügend Speicher da wäre und man das VIRTUALADDRESSLIMIT hochsetzen soll....
Ist das eine Fehlermeldung und Empfehlung von PMView? Für VIRTUALADDRESSLIMIT gibt es keinen allgemein gültigen besten Wert. 1536 war wohl der beste Kompromiss bei eCS und wurde deshalb oft empfohlen. Für gewisse Dinge (z.B. kompilieren von Mozilla) benötigt man mehr. Oft geht aber z.B. 2048 gar nicht mehr (HPFS386?...).

Mit PMView und in die Zwischenablage kopieren hatte ich auch schon des öfteren Probleme. Ich vermute aber PMView will hier Speicher von der WPS oder dem PM haben welche die nicht liefern können (= Vermutung!). In solchen Fällen hängt bei mir die WPS oder startet neu. Das man hier an VIRTUALADDRESSLIMIT drehen sollte, hab ich noch nie gehört.
Benutzeravatar
Wolfie
Beiträge: 116
Registriert: Sa 9. Aug 2014, 19:11
Wohnort: Leipzig

Beitrag von Wolfie »

Ich hatte auch schon das Problem, dass ich bei sehr großen Dateien zum Ändern des Virtualadresslimit aufgefordert wurde. Da dies schon ein Weilchen her ist, entsinne ich mich leider nicht mehr genau, bei welchem Programm es war, könnte aber PMView oder ImpOS2 gewesen sein. Ich hatte dann den empfohlenen Wert in der config.sys eingetragen, und danach funktionierte diese spezielle Operation mit dem Programm.

Da dann aber einige andere Programme nicht mehr richtig funktionierten, drehte ich die Sache wieder zurück. Ich habe aber in meiner config.sys noch die Zeile
rem VIRTUALADDRESSLIMIT=3072
gefunden.

Gruß
Wolfgang
Martin Vieregg
Beiträge: 459
Registriert: Di 19. Aug 2014, 09:30

Beitrag von Martin Vieregg »

Die Fehlermeldung (pmView deutsch 3.76) lautet im O-Ton:

Nicht genügend Arbeitsspeicher.
Überprüfen Sie, ob die Unterstützung für Hohen Speicher (High Memory) eingeschaltet ist,
und/oder erhöhen Sie die Einstellung VIRTUALADDRESSLIMIT in der Datei CONFIG.SYS.

Am einfachsten kann man die Fehlermeldung erzeugen, wenn man File - New Image macht und dann eine große Größe an Pixeln eingibt, etwa 17000x17000. Bei 15000x15000 macht er es noch.

Wenn ich 10000x10000 wähle und dann ein zweites Mal ein Bild mit 5000x5000 hineinkopiere (volle Farbtiefe), kommt dieselbe Fehlermeldung. Ich mußte vier Bitmaps mit knapp 5000x5000 zu einem großen zusammenfügen, das gelang mir dann unter OS/2, indem ich vorher auf 256 Farben zurückstellte (ist eine Flurkarte mit Graustufen). Die Rotate-Funktion mußte ich aber dann wieder unter Windows machen, da setzte er schon wieder aus.
Andi B.
Beiträge: 742
Registriert: Di 24. Dez 2013, 16:40
Kontaktdaten:

Beitrag von Andi B. »

Interessant. Das kann ich dann auch mal testen. Und nebenbei das above512 script laufen lassen damit ich sehe, welcher Bereich nun ausgeht. Nach deiner Beschreibung, sollte es der HighMem private (oder shared?) sein. Der wird auch von den Mozillen und AOO genutzt wenn aktiviert. Kann also auch abhängig davon sein, was sonst so noch läuft.
Benutzeravatar
ak120
Beiträge: 1044
Registriert: Do 8. Mai 2014, 12:50
Wohnort: Demmin
Kontaktdaten:

Beitrag von ak120 »

Martin Vieregg hat geschrieben: Am einfachsten kann man die Fehlermeldung erzeugen, wenn man File - New Image macht und dann eine große Größe an Pixeln eingibt, etwa 17000x17000. Bei 15000x15000 macht er es noch.

Wenn ich 10000x10000 wähle und dann ein zweites Mal ein Bild mit 5000x5000 hineinkopiere (volle Farbtiefe), kommt dieselbe Fehlermeldung. Ich mußte vier Bitmaps mit knapp 5000x5000 zu einem großen zusammenfügen, das gelang mir dann unter OS/2, indem ich vorher auf 256 Farben zurückstellte (ist eine Flurkarte mit Graustufen). Die Rotate-Funktion mußte ich aber dann wieder unter Windows machen, da setzte er schon wieder aus.
Schon mal versucht zuvor die WPS zu töten, also den entspr. PMSHELL-Prozeß und den ganzen Vorgang dann nur unter dem PM durchzuführen?
erdmann
Beiträge: 594
Registriert: Mo 4. Jan 2016, 14:36

Beitrag von erdmann »

VIRTUALADDRESSLIMIT hat nicht direkt etwas mit dem physikalisch vorhandenen Speicher zu tun sondern mit dem im Gesamten bei einem 32-bit Betriebssystem zur Verfügung stehenden Addressraum von 4 GB.
Von diesen 4 GB braucht das OS für Memory mapped devices / Bildschirmapertur / etc. einen größeren Anteil der eben KEIN Arbeitsspeicher ist aber trotzdem über den Addressbus angesprochen werden muß. Zudem wird noch Arbeitsspeicher gebraucht, der NUR vom OS direkt addressiert werden kann/darf, also niemals von Applikationen addressiert werden kann/soll. Für diese ganzen Dinge sollte aber 1 GB reichen, vielleicht etwas mehr.

Wenn man VIRTUALADDRESSLIMIT=3072 (3GB) setzt, dann bleibt eben 1 GB für das oben Gesagte über.
Bei 2GB Arbeitsspeicher bringt es aber wiederrum nichts, mehr als 2GB für VIRTUALADDRESSLIMIT anzugeben weil ja auch nur höchstens 2 GB Addressraum für den vorhandenen Arbeitspeicher gebraucht werden.

Also:
VIRTUALADDRESSLIMIT=2048
ausprobieren.
Martin Vieregg
Beiträge: 459
Registriert: Di 19. Aug 2014, 09:30

Beitrag von Martin Vieregg »

Danke für die fachkundigen Kommentare. Entscheidend war der Tipp, dass man das VIRTUALADDRESSLIMIT über den Wert des physisch verfügbaren Speichers setzen kann. Mit

VIRTUALADDRESSLIMIT=3072

funktioniert jetzt alles wie gewünscht, 2048 hat noch nicht ausgereicht.
Antworten