Log compression, backups, and security scans that run at the same time every day take up CPU and disk.
Why An OS job runs at a scheduled time → Effect It shares CPU and disk with the game server → On screen Stutter and slow motion at a fixed time, such as 4 a.m. every day
Stagger job times, lower their priority (nice, ionice), move them off the game server (run them on a separate server).
On the graph
Periodic spikes · CPU utilization, disk queue, server tick time
Where to look
Run times of scheduled jobs collected from crontab and systemctl list-timers, and which processes use CPU and disk when ticks spike, from pidstat -u -d
Confirmed if
Ticks spike at the same time every day (or every hour), and at that time a scheduled job process takes up CPU and disk
Ruled out if
Spikes don’t line up with a fixed time of day: not this cause. Spikes every few seconds or minutes: “Server GC stop-the-world pause,” “Timers firing all at once”
Check with
Infra tools (no game code needed)
Sources
ionice(1) — Linux manual pageutil-linux Jobs in the idle class get disk I/O only when no other program is using the disk