Overview: Speech Engine Services Memory Usage

Overview: Speech Engine Services Memory Usage

By default, Speech Engine Services (SES) preloads all application resources, such as prompt databases and grammar files, into all available Speech Engine Services (SES) engine instances, for that resource type, at application startup or when the application requests them.

Preloading resources ensures that the user does not experience a wait time while resources are loading. Loading the resources into every SES engine instance ensures that the system is prepared for the maximum anticipated call volume. (SES requires roughly one recognition engine instance per active call.)

In some cases, however, the default configuration can cause undue load on system memory. For example, when application resources are particularly large, loading them into all existing SES engine instances can consume more system memory than is optimal. In some cases, this may even impact the ability of the system to create the default number of engine instances. The following error message might then appear:

SES was unable to create an instance of configuration <EngineConfigurationName> because the LowPressureMemoryThreshold limit was exceeded. To address this problem, reduce the number of engine instances or the size of preloaded resources.

The following topics describe two strategies for adjusting SES memory usage.

See Also

Configuring Speech Engines | Optimizing SES Memory Usage | Creating a New Engine Configuration