For some customers for whom we develop software, we are obliged to "guarantee" a certain amount of spare resources (memory, disk space, processor). Memory and disk space are simple, but the processor is a bit more complex.
One of the methods we used is to create a process that consumes a guaranteed amount of processor time (say, 2.5 seconds every 5 seconds). We run this process with the highest priority to ensure that it starts and consumes all the required processor cycles.
If our regular applications can run at an acceptable level of performance and can transfer all of their functional tests while free time is running, we “assume” that we have fulfilled our commitment to spare processor time.
I am sure that there are other methods for doing the same, and would like to know about them.
source share