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