The Planning Analytics database maintains a list of created TurboIntegrator lock objects. Every time the user calls the synchronized() function on a lock object, the database first checks to see if the lock object is already in the list. If not, the database creates a new lock object and inserts it into the list.
For more details, see the topic
Serializing TurboIntegrator processes using synchronized()
in the TM1 TurboIntegrator guide.
Even after all the TurboIntegrator processes that have referenced a lock object have exited, the lock object may not be removed from the list to free the memory immediately. This is because it is likely that sometime later, either the same process or some other process may call the synchronized() function on that same lock object.
The Planning Analytics database configuration
MaximumTILockObjects controls the growth of the list of created
TurboIntegrator lock objects. When the number of lock objects in the list has reached
MaximumTILockObjects, the server starts a cleanup operation. It removes some lock objects from the
list if they are not used by any TurboIntegrator process at that moment.
If the MaximumTILockObjects parameter is not explicitly set in tm1s.cfg, a default value of 2000 is assumed.
Parameter type: optional, static