Home > Workload Solutions > Oracle > Best Practices > Intel-Based Oracle Best Practices on Dell PowerEdge R740 and PowerMax 2000 > Linux Best Practices > Day Two Best Practices > 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.
Category | Operating System |
Product | Red Hat Enterprise Linux 8.3 |
Type of best practice | Performance Optimization |
Day and value | Day 2, Moderate Recommendation |
Overview
The TUNED_ADM tool enables the Linux administrator to switch between profiles for the operating system. Predefined 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) automates the promotion and demotion of small memory pages to larger memory page sizes (promotion) and from larger memory pages to smaller memory pages (demotion). Oracle databases do not use THP.
Swap space is used by the Linux operating as virtual memory. To do this, Linux kernel writes data from RAM to the swap space thus, allowing greater use of memory on the system. By changing VM.SWAPPINESS to 1 the kernel is instructed to more aggressively reclaim unmapped memory rather than using swap space.
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. In setting dirty pages to 80 the kernel is instructed to use 80% 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.
The VM.TCP_RMEM_MAX parameter defines the maximum amount of receive socket memory.
Recommendation
The approach of using the TUNED_ADM tool to apply the TUNED-PROFILES-ORACLE package automates the application of many best practices in the Linux operating system. After applying the tuned Oracle settings, we load tested the new configuration and compared it to the previous performance test. The load OLTP load test showed moderate performance improvements in the following metrics:
The TCP-C NOPM and TPM metrics showed a moderate increase, indicating the changes to the Linux operating system improved performance. PowerMax IOPS and overall CPU utilization showed slight improvements. Finally, DB File Sequential Read and Log File Parallel Writes show slight increases in average times. The slight increase in times for DB file sequential read and log file parallel writes indicate the database is processing more new orders and transactions per minute causing an uptick the two-file metrics.
Overall, the configuration changes made to the Linux operating system fine tuned how memory is managed. These changes resulted in more efficient memory usage thus, improving the number of New Orders per Minute the database was able to process. The benefits of using the tuned settings for Oracle make this a moderate best practice recommendation.
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
See which profiles are available by running this command:
# tuned-adm list
Additional Resources