A tool for generating heavy CPU loads for testing and analysis purposes.
- Windows x64: busycpus.exe
- Linux x64: busycpus
By default, BusyCPU will use a thread per logical CPU on the system and 4 concurent workers per thread (should saturate the CPUs of any system) but you can tune the thread count (-t), number of concurent workers per thread (-c) and the stride of each worker (-s) if needed. Once it's started it will run until stopped (ctrl-c).
./busycpus [-t <cpu threads> -c <concurrency> -s <stride>]
-c int
Optional: set number of concurrent number of workers per thread; defaults to 2 per
logical CPU
-t int
Optional: set number of CPU threads to use; defaults to the number of logical
CPUs in your system (default 4)
-s int
Optional: Specify the stride (number or random sines to compute per interation) of each
worker; defaults to 1,000,000.
-h print usage information
Default mode, it will swamp every CPU in the system:
$ ./busycpus
Starting 32 concurent workers, multiplexed over 8 CPU threads...
Working: *****
Specify how many threads and concurent workers to use:
$ ./busycpus -t 2 -c 16
Starting 16 concurent workers, multiplexed over 4 CPU threads...
Working: *****