8.1.1 System design

Organization of this subsection
(1) Memory used by HiRDB/Single Server

(1) Memory used by HiRDB/Single Server

This subsection describes the memory used by HiRDB/Single Server.

HiRDB/Single Server uses the following 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.

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 executionHow to set the privilege
HiRDB administratorIn 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 accountThe 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.