The CPU spikes after a given timeframe and stays at >95% until the machine is rebooted. The user will also see a large amount of postgreSQL processes consuming a large chunk of CPU collectively.
When the machine is rebooted, the CPU runs as normal for a few days until the issue re-occurs.
This issue is caused by a defect identified in QB-2734.
If the database contains more than 1000 script file references none of which are considered "orphan", then the FileReferenceMaintenance background worker will go into an infinite loop and try to process the first 1000 entries over and over again. By increasing the value this should break the infinite loop and will hopefully reduce any unnecessary database traffic.
Information provided on this defect is given as is at the time of documenting. For up to date information, please review the most recent Release Notes, or contact support at support.qlik.com with the ID QB-2734 for reference.
Workaround:
The following workaround has also been identified:
Run the following query in PGAdmin:
select Count(*) from "FileReferences" where "Location" like '%\\Script\\%'
If it gives a number < 1000 then it is not the problem. If it is > 1000, then this can be an issue.
If the value it returns is greater than 1000 you can try setting the ExecutionResultMaintenance.BatchSize repository config file to a value higher than the number that the query returns.
The location of the file is C:\Program Files\Qlik\Sense\Repository/Repository.exe.config and the line you need to edit is: