3.3 Arbeitsspeichersubsystem

Durch eine Vergrößerung des Arbeitsspeichers kann die Leistung von Serveranwendungen deutlich verbessert werden. Durch Speichern der eDirectory-Datenbank im Cache des Dateisystems bzw. im FLAIM-Cache kann die Leistung von Such- und Änderungsvorgängen gesteigert werden. In großen Bereitstellungen ist es jedoch nicht möglich, die gesamte DIB im Cache zu speichern. Vermeiden Sie das Auslagern von Seiten, auch wenn dies mit einer Reduzierung der FLAIM-Datensatzgröße und der Größe des Block-Cache verbunden ist. Mit dem vmstat-Werkzeug können Sie weitere Informationen zum Arbeitsspeichersubsystem ermitteln.

Da eDirectory den Arbeitsspeicher verwendet, benötigt jeder Thread des Thread-Pools 1 MB Arbeitsspeicher für seinen eigenen Stack. Standardmäßig ist die Größe des FLAIM-Cache auf 200 MB festgelegt.

Beim Start von eDirectory werden verschiedene ladbare Module gestartet. Die Architektur der ladbaren Module in eDirectory ermöglicht Ihnen jedoch, die Auswirkungen des Prozesses auf den Arbeitsspeicher zu reduzieren, indem nicht verwendete Module (z. B. SecretStore, LDAP oder eMBox) nicht geladen werden. Außerdem verfügen bestimmte Produkte wie IDM über Module, die intern in eDirectory ausgeführt werden.

Es kann so aussehen, als ob der von eDirectory verwendete Arbeitsspeicher ständig wächst. Dies liegt daran, dass der von einem eDirectory-Prozess freigegebene Arbeitsspeicher nicht zum Systempool zurückgegeben wird, weil der intern von eDirectory verwendete Speicherverwalter versucht, die Speicherzuweisungen für zukünftige Prozesse zu optimieren. Unter anderem aus diesem Grund wird eine dynamische Konfiguration von FLAIM nicht empfohlen. Mit dem Top-Werkzeug können Sie die ungefähre Größe des virtuellen Arbeitsspeichers des ndsd-Prozesses in der Bereitstellung ermitteln.

Der maximal zu einem Prozess zuweisbare Arbeitsspeicher ist auf verschiedene Weisen begrenzt. Eine bestimmte Menge Arbeitsspeicher wird vom Betriebssystem und anderen Prozessen im System verwendet. Das Betriebssystem kann den von einem Prozess verwendeten physischen Arbeitsspeicher beschränken.