Senior LevelLinux Commands & SysAdmin
How do dirty_background_ratio and dirty_ratio tune Linux page cache writeback flushing?
❓ Interview Prompt: Explain page cache writeback, dirty pages, vm.dirty_background_ratio vs vm.dirty_ratio, and preventing I/O latency stalls.
When applications write files, the Linux kernel buffers data in RAM as dirty pages before flushing them to physical disk:
Tuning Parameters:
•
'vm.dirty_background_ratio' (Default 10%): Percentage of memory containing dirty pages that triggers background kernel writeback threads ('pdflush' / 'flush').
•
'vm.dirty_ratio' (Default 20%): Hard cap percentage! If dirty pages reach this limit, writing processes are blocked until disk flushing catches up!
Tuning: Lower these ratios on high-RAM servers to prevent massive disk writeback stalls.
Code Implementation Example
bash
# Check active dirty page writeback settings
sysctl vm.dirty_background_ratio vm.dirty_ratio
# Lower writeback ratios for steady I/O flushing on 64GB RAM server
echo "vm.dirty_background_ratio = 3" | sudo tee -a /etc/sysctl.d/99-dirty.conf
echo "vm.dirty_ratio = 6" | sudo tee -a /etc/sysctl.d/99-dirty.conf
sudo sysctl --system💡Tuning page cache dirty writeback ratios to eliminate I/O latency spikes.
🎯 Interview Key Takeaway
Lower vm.dirty_background_ratio and vm.dirty_ratio on large RAM servers to enforce continuous background disk flushing and prevent I/O stalls.
#Page Cache#Writeback#dirty_ratio#Senior
Back to all Linux Commands & SysAdmin Questions→