onmode and F arguments: Free unused memory segments (SQL administration API)

Use the onmode and F arguments with the admin() or task() function to free unused memory segments.

Syntax

EXECUTE FUNCTION { admin | task } ( "onmode" ,"F" ) ;

Usage

When you execute this function, the memory manager examines each memory pool for unused memory. The memory manager immediately frees unused blocks of memory that it locates. After the memory manager checks each memory pool, it begins checking memory segments and frees any that the database server no longer needs.

Running this command causes a significant degradation of performance for any users that are active when you execute the utility. Although the execution time is brief (1 to 2 seconds), degradation for a single-user database server can reach 100 percent. Systems with multiple CPU virtual processors experience proportionately less degradation.

To confirm that the unused memory was freed, check the message log. If the memory manager frees one or more segments, it displays a message that indicates how many segments and bytes of memory were freed.

Tip: Run this command from an operating-system scheduling facility regularly and after the database server performs any function that creates more memory segments, including large index builds, sorts, or backups.

This function is equivalent to the onmode -F command.

Example

The following example frees unused memory blocks:
EXECUTE FUNCTION task("onmode","F");