Linux-specific optimizations for a VM on the ESX

IO-SCHEDULING

The IO scheduling is handled by the ESX host. Therefore, the VM itself can be operated with primitive scheduling. In this case, the noop-scheduler of the kernel provides a suitable solution.


DEBIAN:

In /etc/default/grub adjust or add the following line:

GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop"

REDHAT-DERIVATE:

grubby --update-kernel=ALL --args="elevator=noop"

After reboot, the modifications will become active.

KERNELPARAMETER:

DEBIAN:

In /etc/sysctl.d/ create the esx.conf file.

REDHAT-DERIVATE:

In /etc/sysctl.conf adjust or add the following line:

 

# Reboot 5 seconds after panic 
kernel.panic = 5 

# Panic if a hung task was found 
kernel.hung_task_panic = 1 

# Setup timeout for hung task to 300 seconds 
kernel.hung_task_timeout_secs = 300 

#Use less memory for FS-Buffer 
vm.dirty_ratio=5
The changes are applied after using the command: sysctl -p