1kcbench(1) General Commands Manual kcbench(1)
2
3
4
6 kcbench - Kernel compile benchmark
7
9 kcbench [options]
10
12 Compiles a Linux kernel to benchmark a system or test its stability
13
15 -d, --compiledir <path>
16
17 Use the subdirectory kcbench in <path>/ when compiling results -- passes
18 'O=<path> /kcbench/' to make when calling it to compile a kernel; use a
19 tempdir if not given
20
21 -r, --detailedresults
22
23 Print more detailed results
24
25 -a, --ignore-running-apps
26
27 Do not warn if cron or other daemons run in the background; the results
28 might not be stable when those run and call jobs that consume CPU time or
29 do a lot of I/O
30
31 -i, --infinite
32
33 run endlessly to test system stability
34
35 -n, --iterations <int>
36
37 Number or iterations per number of jobs (default: 3)
38
39 -j, --jobs <int>
40
41 Number of jobs to use ('make -j #'); option can be given multiple times
42 (default: number of CPUs * 2)
43
44 -c, --no-cachefill
45
46 Omit the initial kernel compile to fill caches; saves time, but first
47 result might be slightly lower then the following ones
48
49 -v, --verbose
50
51 Increase verboselevel; option can be given multiple times
52
53 -l, --savefailedlogs <path>
54
55 Save log of failed compile runs in <path>
56
57 -s, --src (<path>|<version>)
58
59 Take sources in <path> or from /usr/share/kcdata/linux-<version>
60
61 -h, --help
62
63 Show usage
64
65 -V, --version
66
67 Output program version
68
70 Kcbench looks for a kernel to compile in /usr/share/kcbench-data and
71 will take the one that a "ls usr/share/kcbench-data | head -n 1" out‐
72 puts by default
73
75 To compile the default kernel 3 times in a row run:
76
77 $ kcbench
78
79 To compile the defaukt kernel 3 times with 2 jobs and 3 times with 4
80 jobs run
81
82 $ kcbench --iterations 3 --jobs 2 --jobs 4
83
85 By default the line you are looking for is this:
86
87 Run 1 (-j 4): 5775 (e:173.15P:192% U:263.49 S:69.42 F:0)
88
89 Here it has taken 173.15 seconds real time (e) to compile the kernel;
90 the CPU-Usage (P) was 192 percent; user time (U) spend was 296.49 and
91 sys time (S) 69.42 and there we no major page faults (see the info or
92 man pages for time for details about the notation).
93
94 As most people prefer if higher numbers mean faster systems -- to give
95 them what they expect kcbench divides 1000000 by the real time spend,
96 which results in 5775 kcbench points (1000000/173.15) in this example.
97
98 When running with "-r|--detailedresults" you'll get more detailed
99 results:
100
101 Run 1 (-j 4): 6662 (e:150.10 P:197% U:259.51 S:36.38 F:0)
102 Elapsed Time(E): 2:30.10 (150.10 seconds)
103 Kernel time (S): 36.38 seconds
104 User time (U): 259.51 seconds
105 CPU usage (P): 197%
106 Major page faults (F): 0
107 Minor page faults (R): 9441809
108 Context switches involuntarily (c): 69031
109 Context switches voluntarily (w): 46955
110
112 · sometimes using exactly as much jobs as processors in the system
113 results in a result that's a bit faster than the default (two times
114 the number of processors)
115
116 · the compiler has a huge impact on the results; if you compare
117 results from different machines make sure they use a similar one.
118 The running kernel and its settings also have a impact on the
119 results. Thus it's the best not to compare different distribu‐
120 tions/different patch levels.
121
122 · the kernel that is being compiled of course has a huge impact as
123 well; compare only results where you compiled the same kernel ver‐
124 sion
125
127 time(1).
128
130 None know, but there are likely some
131
133 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info>
134
135
136
137 kcbench(1)