This subsection describes the memory used by HiRDB/Single Server.
HiRDB/Single Server uses the following memory.
- Shared memory
- Process private memory
(a) Storage requirements
The storage space required by HiRDB/Single Server must be estimated. For details about the storage requirements for HiRDB/Single Server, see 15.1 Estimating the memory size required for a HiRDB/Single Server.
(b) Page locking shared memory
With HiRDB, the following shared memory can be locked in actual memory.
- Shared memory for unit controllers
- Shared memory for global buffers
- Shared memory used by dynamically changed global buffers
- Shared memory for in-memory data buffers
Locking shared memory in actual memory reduces the number of page I/Os, stabilizing performance.
- Prerequisites
- The prerequisites for page locking of shared memory are described below.
- Windows version
- In Windows, pages are locked using large page support, which is supported starting with Windows Server 2003 Service Pack 1. For this reason, it is assumed you have a version of Windows that supports large pages. Use the pdntenv -os command to check whether your version of Windows supports page locking.
- Page lock privilege
- You must have a privilege that allows locking of pages in memory in order to lock shared memory pages. Depending on the account you log on with when executing services, you might not have this privilege. The follow describes how to set this privilege.
Logon account used during service execution | How to set the privilege |
---|
HiRDB administrator | In the OS's Local Security Settings, select Local Policies, and then User Rights Assignment. Next, add the HiRDB administrator under Lock pages in memory. |
Local system account | The local system account has authority to lock pages in memory. No privileges need to be set. |
- Operating environment settings
- To lock shared memory pages, you must specify shared memory allocation sites. Specify page with the pdntenv command's -shmfile option, and then set shared memory allocation sites in the paging file (virtual memory).
- Page locking methods
- This subsection describes shared memory page locking methods for each type of shared memory.
- Shared memory for unit controllers
Specify fixed in the pd_shmpool_attribute operand of the system common definition or unit control information definition.
- Shared memory for global buffers
Specify fixed in the pd_dbbuff_attribute operand of the system common definition or unit control information definition.
- Shared memory used by dynamically changed global buffers
Specify fixed in the pd_dbbuff_attribute operand of the system common definition or unit control information definition. This locks shared memory used by global buffers dynamically changed by the pdbufmod command in actual memory.
- Shared memory for in-memory data buffers
Specify fixed in the pdmemdb command -p option.
- Note
- When contiguous areas cannot be secured in actual memory, shared memory pages cannot be locked. HiRDB operation when page locking fails is shown below.
- Shared memory for unit controllers or global buffers
- Shared memory is secured without locking pages, and processing continues.
- Shared memory that uses dynamically changed global buffers or shared memory for in-memory data buffers
- HiRDB or the command terminates abnormally.