The tuned-profiles-cloudlinux package brings a range of kernel under-the-hood tunings to address high LA, iowait issues what were detected earlier on particular users deploys. The package also encloses OOM adjustments to prioritize the elimination of overrun php, lsphp, Phusion Passenger workers processes over other processes (e.g. ssh, a cron job).
There are three profiles provided by CloudLinux:
# tuned-adm list | grep cloudlinux
- cloudlinux-default - Default CloudLinux tuned profile
- cloudlinux-dummy - Empty CloudLinux tuned profile
- cloudlinux-vz - Empty CloudLinux tuned profile
cloudlinux-dummy and cloudlinux-vz are used for internal needs or when Virtuozzo/OpenVZ detected and actually do nothing.
cloudlinux-default is one to be used, it actually does the following:
1. Changes CPU governor to performance.
Note. If standard software CPU governors are used.
2. Applies the following kernel options:
3. [CloudLinux 7 only] Detects used disk types and changes elevator to 'deadline' for HDD and to 'noop' for SSD in /sys/block/[blockname]/queue/scheduler .
Note. The script uses /sys/block/[blockname]/queue/rotational flag, some RAID controllers can not set it properly. For example, SSD used for RAID but rotational is set to 1 by RAID driver. As a workaround add the following to /etc/rc.d/rc.local to make it applied on boot:
Where [blockname] is used device name, like sda/sdb.
And make it executable:
chmod +x /etc/rc.d/rc.local
4. [CloudLinux 7 only] Changes the maximal I/O queue size 1024 with /sys/block/[blockname]/queue/nr_requests.
5. Disables HugePages.
6. Provides adjustment group file for OOM-Killer to kill overrun php, lsphp and Phusion Passenger workers first.
yum install tuned-profiles-cloudlinux
To start using a profile:
tuned-adm profile cloudlinux-default
To stop using a profile: