Home > Workload Solutions > Oracle > Guides > Implementation Guide—Oracle Database 19c Best Practices on PowerStore > Red Hat Enterprise Linux: Oracle Tuned Profile
The “tuned-adm” command line tool enables switching between different tuning profiles in Linux. In this best practice, we used the “tuned-adm” tool to switch to an optimized Linux profile for Oracle.
Overview
The Linux operating system provides a system tuning tool called “tuned”. It is a profile-based tool that uses udev device manager. The “tuned-adm” tool enables the Linux administrator to switch between profiles for the operating system. Pre-defined profiles enable the application of Linux configuration settings in a package that can be downloaded. In this best practice, the Red Hat operating system tuned profile TUNED-PROFILES-ORACLE was downloaded and installed in the Linux OS. As the result of installing this TUNED-PROFILES-ORACLE profile, the following settings were added to the system:
Transparent HugePages (THP) is a Linux memory management that reduces the overhead of Translation Lookaside Buffer (TLB) lookups on machines with large amount of memory by using larger memory pages. Oracle databases do not use THP.
Swap space is used by the Linux kernel as virtual memory. The swappiness setting defines how aggressively the kernel will swap memory pages to disk. By changing VM.SWAPPINESS to 1, the kernel is instructed to swap as little as possible to disk and keep more memory pages in RAM.
The DIRTY_BACKGROUND_RATIO is the percentage of memory that contains free pages and reclaimable pages, that can be filled with dirty pages before the pages are written to disk. Databases can aggressively use the kernel page cache thus lowering the background ratio forces the kernel to flush the dirty pages to disk more frequently.
The DIRTY_RATIO is the percentage of total system memory that contain dirty pages before the pages are written to disk. By setting dirty_ratio to 80 the kernel is instructed to use 80 percent of total system memory for dirty pages before having to flush the data to disk.
The DIRTY_EXPIRE_CENTISECS define in centisecs, one hundredth of a second, when data is old enough to be written to disk. By setting DIRTY_EXPIRE_CENTISECS to 500 a dirty page can stay in memory for 500 centisecs before it is written to disk.
The DIRTY_WRITEBACK_CENTISECS parameter defines the frequency the kernel will check to write dirty pages to disk. In this case, a value of 100 centisecs instructs the kernel to check every 100 centisecs to write dirty pages to disk.
VM.TCP_RMEM_MAX is set to 4194304
The VM.TCP_RMEM_MAX parameter defines the maximum amount of receive socket memory.
In addition to the VM memory settings, this best practice also included network and kernel settings updated by the MSSQL tuned profile. The following list describes the network and kernel settings that were updated by the MSSQL tuned profile:
Implementation steps
In this test case, we are going to install Red Hat tuned-profiles-oracle profile which is recommended and designed to run Oracle Database. To install tuned-profiles-oracle profile , use yum install command:
# yum install tuned-profiles-oracle
View available profiles by running the following command:
# tuned-adm list
Enable the profile
# tuned-adm profile oracle
Verify the active profile
# tuned-adm active
You should see an output like
Current active profile: oracle
Additional resources