nr_shm

The shared memory utility de-allocates leftover memory regions when Nuance recognition servers exit abnormally (killed or crashed). The utility is especially useful on Linux operating systems, which do not automatically re-claim memory after processes terminate unexpectedly.

Clean up the shared memory region if servers all are killed or if they crash. Do not clean up if one or more recognition servers remains running (because they continue using the shared memory region).

Use the utility to monitor the status of the shared memory region on a host. The utility can confirm:

  • Whether the shared memory region exists.
  • Whether the shared memory is in a valid or corrupted state.
  • How much memory is being used and how much remains.
  • Incidental memory statistics, such as fragmentation and allocated and free blocks.

If necessary, use the utility to destroy the shared memory region (in fact, 2 shared memory regions and 5 semaphores). Normally, this is only necessary when the shared memory is in an inconsistent or corrupted state. For example, when some of the components exist, but others do not, or when the data inside either of the shared memory regions is corrupted.

The utility is located in: %SWISRSDK%\amd64\bin

Usage

nr_shm [-cleanup] [-vm_dump]

Options

To print details on the setup of the shared memory region, run the utility with no options.

nr_shm 

This is a read-only operation, the region is not changed.

-cleanup

Linux only. Destroys the shared memory allocation, whether it’s in a valid state or not. This option only works if there are no processes attached to the shared memory region.

To clean up memory:

nr_shm -cleanup

-vm_dump

Prints a vmalloc dump showing the contents of the shared memory region. The output indicates which files are stored in the shared memory region. This is a read-only operation, the region is not changed.