“Tuned” in RHEL7/OEL7 is tuning daemon for automatically tuning the system via the use of tuning profile. It can also be configured to react to changes to improve performance of the server and also to make system settings persistent.
“tuned-adm” is a command line tool that provides a number of different profiles to improve performance.
Below are the profiles provided and supported in RHEL 7 :-
Apart from the provided profile, we can create custom profiles. All the profile are stored in /usr/lib/tuned/ in RHEL7.
The recommended profile for Oracle database workloads is “throughput-performance”.
In my virtualbox, by default “vitual-guest” was set as active profile
[root@racnode1 ~]# cd /usr/lib/tuned/ [root@racnode1 tuned]# tuned-adm active Current active profile: virtual-guest
If tuned is not installed, install it using yum
#yum install tuned
Enabled tuned to ensure it is started upon boot time
# systemctl enable tuned.service
Start the tuned service
#systemctl start tuned.service
To check the status of tuned service
#systemctl status tuned.service
Now, create new “oracle” profile to be used
1. Create oracle directory –
[root@racnode1 ~]# mkdir /usr/lib/tuned/oracle
2. Create tuned.conf –
[root@racnode1 ~]# cd /usr/lib/tuned/oracle [root@racnode1 oracle]# vi tuned.conf [root@racnode1 oracle]# more tuned.conf # # tuned configuration # [main] include=throughput-performance [sysctl] vm.swappiness = 1 vm.dirty_background_ratio = 3 vm.dirty_ratio = 80 vm.dirty_expire_centisecs = 500 vm.dirty_writeback_centisecs = 100 kernel.shmmax = 4398046511104 kernel.shmall = 1073741824 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 6815744 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 kernel.panic_on_oops = 1 [vm] transparent_hugepages=never [root@racnode1 oracle]#
3. Activate the newly added oracle profile –
[root@racnode1 oracle]# tuned-adm profile oracle [root@racnode1 oracle]# sysctl -a | grep vm.swappiness vm.swappiness = 1 [root@racnode1 oracle]# sysctl -a | grep vm.dirty_ratio vm.dirty_ratio = 80 [root@racnode1 oracle]#
4. To check the profile list –
[root@racnode1 ~]# tuned-adm list
One of the benefits of tuned is the profiles can be applied dynamically.
To configure dynamic tuning behavior, edit the dynamic_tuning parameter in the /etc/tuned/tuned-main.conf file.
If we are using tuned profile (as shown above) which make system settings persistent, it is recommended to remove all the oracle related entries from /etc/sysctl.conf as the entries are susceptible of being overwrittern, replaced or removed all together.
Hope the article is helpful!!