Appendix B - Benchmark Details

From linuxrealtime
Jump to: navigation, search

The combination of cyclictest and stress has been used for the benchmarking presented in this document. Details are given in the following tables:

Table B.1 Parameters to cyclictest Used in This Document
Parameter Description
-S Alias for '-t -a -n', i.e. one thread bound to each core. Use clock_nanosleep instead of POSIX timers
-m Lock current and future memory allocations in memory
-p99 Set worker thread priority o 99
-l 100000 Set number of cycles
-q Quiet run. Print only a summary on exit
Table B.2 Various stress Scenarios
cpu ./stress -c <n> <n> worker threads spinning on sqrt()
hdd ./stress -d <n> --hdd-bytes 20M <n> worker threads spinning on write()/unlink(). Each worker writes 20 MB.
io ./stress -i <n> <n> worker threads spinning on sync()
vm ./stress -m <n> --vm-bytes 10M <n> worker threads spinning on malloc()/free(). Buffer size: 15 MB
full ./stress -c <n> -i <n> -m <n> --vm-bytes 15M <n> worker threads each doing the cpu, io & vm stress. Buffer sizes are malloc: 256 MB, write: 15 MB.

The number of worker threads, <n>, is set to the number of cores for the target.


Example:

$ ./stress -c 4 &
$ ./cyclictest -S -m -p99 -l 300000 -q
...
$ killall stress