Speicherbelegung
Thomas Berger
thomas at mpim-bonn.mpg.de
Do Aug 24 08:28:59 CEST 1995
Liebe AllegrologInnen,
P. Oliver schrieb:
> Date: Wed, 23 Aug 95 21:36:41 +0200
> Subject: Speicherbelegung
> Inzwischen laesst sich der Belegung des Arbeitsspeichers in der
> .CFG vierlfaeltig konfigurieren, und ich habe den Ueberblick
> verloren. Beim Export/Indizieren eines sehr grossen Datensatzes
> (6 kB, 280 Kategorien) stosse ich nun auf Probleme mit dem
> Speichermanager. Welche Parameter sind da anzupassen?
>
'Probleme mit dem Speichermanager' ist nicht besonders spezifisch, daher
hier meine 'allgemeinen' Erfahrungen mit den Konfigurationsbefehlen:
Bei einem 6k grossen Datensatz scheint mir eine Barriere durch den
Kategorienspeicher (veraenderbar durch einen der Befehle mK oder md aus
den letzten News) nicht gegeben zu sein.
Pro Forma sollte man die Setzung von mK (ategorien) ueberpruefen. Dieser
Wert fuer die maximale Anzahl von Kategorien im Arbeitsspeicher muss
natuerlich gross genug sein.
Die Settings mX fuer den Parameterspeicher sind beim Indexieren typischer-
weise unproblematisch, da hier im Gegensatz zu PRESTO und konsorten ja
_nur_ die Indexparameterdatei geladen ist. Wenn durch eingelesene
Parameterdateien diese Groesse nur geringfuegig ueberschritten ist,
erfolgt uebrigens keine Fehlermeldung.
In den Phrasenspeicher (konfigurieren mit mP) kommen auch die Zwischen-
teile, daher darf man ihn auch fuer Indexierungen nicht auf 0 setzen.
Probleme damit kann man unter PRESTO gut erkennen: Nach allen Parameter-
dateien wird PHRASE.APH eingelesen, fuer jede Phrase aus dieser Datei,
die nicht mehr in den Phrasenspeicher passt, blitzt einmal kurz eine
Fehlermeldung auf.
Nach meiner Erfahrung gibt es die meisten Probleme mit dem Hintergrund-
speicher, da sich dort die Anwendervariablen tummeln. Der Konfigurations-
befehl ist mB (ackground). Oft beispielsweise 'parkt' die Indexparameter-
datei alle Titelkategorien auf einmal in einer Anwendervariable. Theoretisch
muesste das Limit von 3000 Bytes fuer _eine_ Anwendervariable auch gelten,
ich weiss aber nicht, ob das Programm dies sauber abfaengt. Das Fehlerbild
bei nicht ausreichendem Arbeitsspeicher ist nicht typisch: Zwischen
geringfuegig falsch berechneten Schluesseln und modifiziertem CMOS ist
wohl alles moeglich. Anscheinend liegt der Hintergrundspeicher physisch
unmittelbar vor dem Kategorienspeicher, so dass bei kleinen Ueberschreitungen
evtl. nur der gerade bearbeitete Datensatz subtil veraendert wird.
Mit greundlichen Gruessen,
Thomas Berger
Mehr Informationen über die Mailingliste Allegro