max_size_in_gb_hugepages: When configure_hugepages_by: memory, limit GB of hugepages to a percentage of physical memory to prevent overallocating
nr_hugepages_percent: Replace fixed hugepage size (2MB) by system's actual hugepage size (just in case it changes) and add two pages per instance, which is empirically better than just two pages overall
nr_hugepages_memory': Same asnr_hugepages_percent, plus hugepages capmax_size_in_gb_hugepages`
Enhancements:
Provides a few aggregates man can use to calculate kernel parameters, i.e.
oracle_databases_processes_sum: Sum of processes init-Parameter over all databases
oracle_databases_processes_max: Largest processes init-Parameter over all databases
oracle_databases_sga_sum: Sum of max(sga_target, sga_max_size) init-Parameter over all databases
oracle_databases_sga_max: Largest max(sga_target, sga_max_size) init-Parameter over all databases
sysctl_kernel_sem: kernel.sem based on processes init-Parameters (increases values only, unless sysctl_kernel_sem_force==true
sysctl_kernel_panic: 0 or 1, according to system's kdump state
Note (1): Kernel paramers are no actually set by these changes. Aggregates rather can be used to e.g. configure oracle_sysctl list or size_in_gb_hugepages.
Example:
size_in_gb_hugepages: "{{ oracle_databases_sga_sum | default(0) | int / 1024**3 }}"
oracle_sysctl:
- name: kernel.panic # sysctl_kernel_panic defined by orahost_meta
value: "{{ sysctl_kernel_panic }}"
- name: kernel.sem
value: "{{ sysctl_kernel_sem }}"
- name: kernel.shmall # Doc ID 301830.1
value: "{{ (( oracle_databases_sga_sum | default(0) | int ) / ( page_size_bytes | int )) | int }}"
Note (2): ASM instance should be described if it's forced to use hugepages:
Changes:
max_size_in_gb_hugepages
: Whenconfigure_hugepages_by: memory
, limit GB of hugepages to a percentage of physical memory to prevent overallocatingnr_hugepages_percent
: Replace fixed hugepage size (2MB) by system's actual hugepage size (just in case it changes) and add two pages per instance, which is empirically better than just two pages overallnr_hugepages_memory': Same as
nr_hugepages_percent, plus hugepages cap
max_size_in_gb_hugepages`Enhancements:
oracle_databases_processes_sum
: Sum of processes init-Parameter over all databasesoracle_databases_processes_max
: Largest processes init-Parameter over all databasesoracle_databases_sga_sum
: Sum of max(sga_target, sga_max_size) init-Parameter over all databasesoracle_databases_sga_max
: Largest max(sga_target, sga_max_size) init-Parameter over all databasessysctl_kernel_sem
: kernel.sem based on processes init-Parameters (increases values only, unlesssysctl_kernel_sem_force==true
sysctl_kernel_panic
: 0 or 1, according to system's kdump stateNote (1): Kernel paramers are no actually set by these changes. Aggregates rather can be used to e.g. configure
oracle_sysctl
list orsize_in_gb_hugepages
.Example:
Note (2): ASM instance should be described if it's forced to use hugepages: