Kernel tuning.
sysctl drop-ins and tuned profiles.
dbadmin1 wants two kernel parameters raised and made permanent, and the throughput-performance tuned profile applied, plus a way to see what tuned changed underneath.
dbadmin1 is tuning the DB tier and hands you two exact numbers: raise net.core.somaxconn, the TCP listen queue, to 4096, and pin vm.swappiness at 10, the value from the emergency-swap ticket, this time confirming it actually survives a reboot. Both belong in /etc/sysctl.d/. Then switch the box to the throughput-performance tuned profile so the kernel favors sustained throughput, and show what that profile quietly changes underneath.
Two things trip people. A value set with sysctl -w is live immediately but gone at the next reboot, so persistence means a file, not a flag. And a sysctl drop-in and a tuned profile can both reach for the same knob, so when they disagree you have to know the drop-in wins.
The ticket
sudo dnf install -y tuned sudo systemctl enable --now tuned tuned-adm active
Concept review. sysctl and tuned-adm.
man sysctl man tuned-adm
sysctl KEY read the current runtime value sysctl -w KEY=VAL set at runtime, gone after reboot /etc/sysctl.d/*.conf persistent settings, loaded at boot sysctl --system reload all sysctl.d files now
tuned-adm list available profiles tuned-adm active the currently applied profile tuned-adm profile NAME switch profile, persists across reboot tuned-adm verify confirm the live settings match the profile
Common profiles: balanced is the default, throughput-performance is for servers under sustained load, latency-performance for low latency, and virtual-guest for VMs.
Read the current values
sysctl net.core.somaxconn sysctl vm.swappiness sysctl -a 2>/dev/null | grep -E 'somaxconn|swappiness'
Set persistent values in sysctl.d
Write a drop-in rather than editing /etc/sysctl.conf, which is effectively deprecated. The 99- prefix makes the file load last so it wins over earlier defaults. Then apply without a reboot.
sudo tee /etc/sysctl.d/99-server1-db-tuning.conf << 'EOF' # DB tier tuning vm.swappiness = 10 net.core.somaxconn = 4096 EOF sudo sysctl --system # shows which file each value came from sysctl net.core.somaxconn vm.swappiness
Apply and verify a tuned profile
Switching a profile is persistent by design, stored in /etc/tuned/active_profile and reapplied at boot, so there is no separate persistence step. verify confirms the live system still matches the profile.
tuned-adm list sudo tuned-adm profile throughput-performance tuned-adm active sudo tuned-adm verify # see what the profile actually sets cat /usr/lib/tuned/throughput-performance/tuned.conf
When a drop-in and tuned collide
If tuned-adm verify ever fails, something is overriding the profile, and it is usually one of your own /etc/sysctl.d/ files. For sysctl values, the drop-in wins over tuned. Decide which value you actually want and keep them consistent.
sudo tuned-adm verify # if it fails, check which sysctl keys collide with your 99- file
Exam questions
Write the command first.
Q1. Show the current value of net.ipv4.ip_forward.
Q2. Persistently set vm.swappiness to 5 and kernel.pid_max to 4194304, and apply without rebooting.
Q3. Switch the tuned profile to latency-performance so it persists, and verify it was applied.
Answers.
# A1 sysctl net.ipv4.ip_forward # A2 sudo tee /etc/sysctl.d/99-tuning.conf << 'EOF' vm.swappiness = 5 kernel.pid_max = 4194304 EOF sudo sysctl --system # A3 sudo tuned-adm profile latency-performance tuned-adm active; sudo tuned-adm verify
Final checklist: confirm everything works
If every check passes, the ticket is done.
# 1. drop-in exists with both values active sysctl net.core.somaxconn vm.swappiness # 2. tuned profile is throughput-performance and verifies tuned-adm active; sudo tuned-adm verify # 3. all three exam commands written from scratch # 4. tracker entry checked off
Reply to dbadmin1: sysctl drop-in at /etc/sysctl.d/99-server1-db-tuning.conf with swappiness 10 and somaxconn 4096. tuned profile is throughput-performance and persistent, verified with tuned-adm verify.