Shared memory
These topics describe the content of database server shared memory, the factors that determine the sizes of shared-memory areas, and how data moves into and out of shared memory.
For information about how to change the database server configuration parameters that determine shared memory allocations, see Manage shared memory.
- Shared memory
Shared memory is an operating-system feature that allows the database server threads and processes to share data by sharing access to pools of memory. - Shared-memory use
The database server uses shared memory to enable virtual processors and utilities to share data and to provide a fast communications channel for local client applications that use IPC communication. - Processes that attach to shared memory
A number of processes attach to the database server shared memory. - Resident portion of shared memory
The operating system, as it switches between the processes that run on the system, normally swaps the contents of portions of memory to disk. When a portion of memory is designated as resident, however, it is not swapped to disk. Keeping frequently accessed data resident in memory improves performance because it reduces the number of disk I/O operations that would otherwise be required to access that data. - Buffer pool portion of shared memory
The buffer pool portion of shared memory contains the buffers that store dbspace pages that are read from disk. - Virtual portion of shared memory
The virtual portion of shared memory is expandable by the database server and can be paged out to disk by the operating system. - Communications portion of shared memory (UNIX)
The database server allocates memory for the IPC communication portion of shared memory if you configure at least one of your connections as an IPC shared-memory connection. The database server performs this allocation when you set up shared memory. - Virtual-extension portion of shared memory
The virtual-extension portion of shared memory contains additional virtual segments and virtual-extension segments. - Concurrency control
The database server threads that run on the same virtual processor and on separate virtual processors share access to resources in shared memory. - Database server thread access to shared buffers
Database server threads access shared buffers through a system of queues, using mutexes and locks to synchronize access and protect data. - Flush data to disk
Writing a buffer to disk is called buffer flushing. - Buffer large-object data
Simple large objects (TEXT or BYTE data) can be stored in either dbspaces or blobspaces. Smart large objects (CLOB or BLOB data) are stored only in sbspaces. - Memory use on 64-bit platforms
With 64-bit addressing, you can have larger buffer pools to reduce the amount of I/O operations to obtain data from disks.
Parent topic: Disk, memory, and process management
Related reference: