swirec_shmem_enabled

Determines whether recognition servers share memory.

Value

Boolean. Enables shared memory for Recognizers on a host.

Default

0 (disabled)

How to set

In Management Station set on the Nuance recognition service. If not using Management Station, set in a Recognizer configuration file (User-nrsxx.xml).

Usage

Set by system administrators for all recognition servers on a host.

Useful when running more than one recognition server process on a host with a 64-bit operating system. Not intended for 32-bit architectures.

Performance

Expands system capacity by reducing the memory needed by each recognition server.

This parameter belongs to a group of parameters that control shared memory. It creates a shared memory region on the host, and attaches the recognition server process. The attached Recognizers share common resources.

Typically, you set the same value for every recognition server on the host. Optionally, some Recognizers can use shared memory, and others can use their local memory only.

Troubleshooting shared memory

Recognition servers will fail during startup if there is a problem with the shared memory configuration. For example, a server might fail to attach to the shared memory region. To begin fixing the problem, stop the recognition servers.

On Linux hosts, ensure there is no existing shared memory region. (Linux does not automatically clean the orphaned region if the last Recognizer process exits abnormally.) Use the shared memory utility (stored in the bin directory) to clean up memory:

> nr_shm -cleanup

The simplest fix is to restart the recognition servers. If one restart doesn’t correct the problem, try again several times. This allows the operating system to (internally) adjust swirec_shmem_address and attach the processes.

Another solution is to reduce the value of swirec_shmem_size. Then restart the servers.

If unable to configure shared memory successfully, contact Nuance for a recommended swirec_shmem_address value.