Did you start out by taking a look at the Tableau PostgreSQL database? Perhaps you could build a gantt chart showing your extracts, which might help to show those free slots.
Should it be the _schedule or the extract table I be looking
So don't want to discourage you from spending time in the tables, but another option which might be worthwhile as well would be to use the LogShark tool:
It's not a realtime log analyzer it actually works on a set of zippled log files from Tableau Server. It creates several workbooks broken out by component one of which is a Backgrounder workbook that can show the "utilization" over time. Which would probably give a good idea on when there are "free times" for the Backgrounder processes.
A word of caution, because it's not a realtime log analyzer there's no benefit to installing it on an existing node of Tableau Server. In fact, it might slow things down so would highly recommend to install it some place else. It's not that resource intense, I actually run it on my laptop.