Bash script to monitor and adjust dirty cache size, writeback speed, bcache, device disk load.
Simple to use, various options, good error handling and usage and debug information, and it can be used as a service.
Example
start
bcacheMonitor --backend sdb --action setusage,waitlog
shutdown
bcacheMonitor --action sendzero
setusage,waitlog
Sets writeback optimizations and (default) mininum writeback rate, reads disk usage, and (deafult) sets the writeback rate so as not to overload the disks.
Wait for infinite loop and redirect the output to the (printed) log file.
The contents of the log file can be viewed in a desktop gadget or other commands that display it.
sendzero
Sends to all active monitors the 'setmax,waitzero' request action, to force flush the dirty cache.
Wait for zero dirty cache (currently for 90 seconds maximum).
bcache-backup.service is a sample service for systemd to handle bcacheMonitor on startup and shutdown of the operating system.
Features
- bcacheMonitor [--backend device] [options]
- bcacheMonitor --backend sdb[,sdc] --action setmin
- bcacheMonitor --backend sdb[,sdc] --action setmax
- bcacheMonitor --backend sdb[,sdc] --action [setmin|setmax],setusage
- bcacheMonitor --backend sdb[,sdc] --action setusage,waitloop
- bcacheMonitor --backend sdb[,sdc] --action setusage,waitlog
- bcacheMonitor --action sendzero
- bcacheMonitor --action showbcache