The Linux kernel adapts to the system on which it runs in a number of ways, scaling buffers and pools according to the number of CPU cores present and the amount of RAM provisioned. However, since the kernel and other operating system components must be usable on both heavily-equipped servers and modest consumer systems, there's only so much it can do out of the box.
Experience with Ceph has taught us a number of ways to ensure operational stability and continued performance as the workload grows. Some are common to most systems; others are highly dependent on your individual hardware and situation.
Many Linux kernel settings are persistently configured via the sysctl
framework when the system boots. Historically, additions or changes were made within the /etc/sysctl.conf
file, but with modern distributions it is advisable to instead exploit the drop-in directory /etc/sysctl.d
. We can group related settings into individual files that can be conveniently managed separately within...