If the variable flush_time is set to a non-zero value, all tables are closed (and flushed) every flush_time seconds to disk. This can cause unnecessary and high I/O spikes.
flush_time
For further information consult MariaDB or MySQL documentation.