You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.7 KiB
82 lines
2.7 KiB
4 months ago
|
Kernbench v0.42
|
||
|
|
||
|
|
||
|
What is this?
|
||
|
|
||
|
This is a cpu throughput benchmark originally devised and used by Martin J.
|
||
|
Bligh. It is designed to compare kernels on the same machine, or to compare
|
||
|
hardware. To compare hardware you need to be running the same architecture
|
||
|
machines (eg i386), the same userspace binaries and run kernbench on the same
|
||
|
kernel source tree.
|
||
|
|
||
|
It runs a kernel at various numbers of concurrent jobs: 1/2 number of cpus,
|
||
|
optimal (default is 4xnumber of cpus) and maximal job count. Optionally it can
|
||
|
also run single threaded. It then prints out a number of useful statistics
|
||
|
for the average of each group of runs and logs them to kernbench.log
|
||
|
|
||
|
You need more than 2Gb of ram for this to be a true throughput benchmark or
|
||
|
else you will get swapstorms.
|
||
|
|
||
|
Ideally it should be run in single user mode on a non-journalled filesystem.
|
||
|
To compare results it should always be run in the same kernel tree.
|
||
|
|
||
|
|
||
|
How do I use it?
|
||
|
|
||
|
You need a kernel tree (any 2.6 will do) and the applications 'time', 'awk',
|
||
|
'date' and 'yes' installed. 'time' is different to the builtin time used by
|
||
|
BASH and has more information desired for this benchmark.
|
||
|
|
||
|
Simply cd into the kernel tree directory and type
|
||
|
|
||
|
/path/to/kernbench
|
||
|
|
||
|
|
||
|
Options
|
||
|
|
||
|
kernbench [-n runs] [-o jobs] [-s] [-H] [-O] [-M] [-h] [-v]
|
||
|
n : number of times to perform benchmark (default 5)
|
||
|
o : number of jobs for optimal run (default 4 * cpu)
|
||
|
s : perform single threaded runs (default don't)
|
||
|
H : don't perform half load runs (default do)
|
||
|
O : don't perform optimal load runs (default do)
|
||
|
M : don't perform maximal load runs (default do)
|
||
|
f : fast run
|
||
|
h : print this help
|
||
|
v : print version number
|
||
|
|
||
|
|
||
|
Changelog:
|
||
|
v0.42 Fixed incorrect counting of cpus (thanks Flynn Marquardt)
|
||
|
Changed -j to at least 4GB ram.
|
||
|
|
||
|
v0.41 Fixed make oldconfig
|
||
|
|
||
|
v0.40 Made all runs use the oldconfig if it exists. Changed to only do one
|
||
|
warmup run before all the benchmarks. Added logging to kernbench.log
|
||
|
Cleaned up the code substantially to reuse code where possible.
|
||
|
Added standard deviation statistics courtesy of Peter Williams
|
||
|
|
||
|
v0.30 Added fast run option which bypasses caching, warmup and tree
|
||
|
preparation and drops number of runs to 3. Modified half loads to
|
||
|
detect -j2 and change to -j3. Added syncs. Improved warnings and
|
||
|
messages.
|
||
|
|
||
|
v0.20 Change to average of runs, add options to choose which runs to perform
|
||
|
remove single threaded run from defaults, do warmup run, lots more
|
||
|
sanity checks, drop meaningless runs, add a few warnings, remove fudge
|
||
|
factor from no. of jobs.
|
||
|
|
||
|
v0.11 First public release
|
||
|
|
||
|
|
||
|
Thanks: M. Bligh for ideas. Others for help with magic incantations to get
|
||
|
BASH to work.
|
||
|
|
||
|
|
||
|
Con Kolivas <kernbench@kolivas.org>
|
||
|
Mon Jun 18 18:59:24 2007
|
||
|
|
||
|
License:
|
||
|
GPL of course. Read COPYING included in this tarball.
|