Kernbench

Dokument został przetłumaczony za zgodą Cona Kolivasa.

Wersja oryginalna znajduje się tutaj: README

Co to jest?

Jest to benchmark przepustowości procesora wymyślony przez Martina J. Bligha. Jest zaprojektowany do porównywania jąder systemu na tej samej maszynie, lub do porównywania szybkości sprzętu. Aby porównać sprzęt, musisz używać tej samej architektury (np. i386), tych samych wersji binarnych programów w przestrzeni użytkownika i uruchomić kernbench na tej samej wersji kodu jądra.

Można używać różnych trybów równoległych zadań:

  • ½ * liczba procesorów
  • optymalnym (domyślnie jest 4 * liczba procesorów)
  • maksymalna ilość równoległych zadań

Opcjonalnie można też uruchomić w trybie jednowątkowym. W rezultacie wykonania testu otrzymamy plik kernbench.log w którym znajdziemy użyteczne statystyki.

Potrzebne jest powyżej 2GB pamięci RAM aby był to prawdziwy test przepustowości - w innym przypadku nasz system będzie bardzo intensywnie używał pamięci wymiany.

W idealnym przypadku test powinien być wykonywany w trybie pojedynczego użytkownika na systemie plików bez księgowania. Dla uzyskania porównywalnych rezultatów musimy uruchamiać kernbench w tej samej wersji drzewa.

Instalacja

Kernbench jest zwykłym skryptem, jego instalacja jest bardzo szybka i prosta. Wchodzimy do jakiegoś katalogu, który mamy dopisany do zmiennej PATH (w przykładzie ~/bin).

cd ~/bin/
 wget http://ck.kolivas.org/kernbench/kernbench-0.41.tar.gz
 tar zxvf kernbench-0.41.tar.gz
 cp kernbench-0.41/kernbench .

Sposób użycia

Potrzebujesz drzewo jądra (seria 2.6 będzie odpowiednia) i zainstalowane wszystkie wymienione niżej programy:

  • time
  • awk
  • date
  • yes

Musisz mieć zainstalowany program 'time', polecenie 'time' wbudowane w BASH nie dostarcza odpowiedniej liczby informacji potrzebnych do wykonania testu.

Następnie przejdź do katalogu ze źródłami jądra i wpisz
/ścieżka/do/kernbench

Podczas testowania planistów cpu bardzo użyteczne informacje uzyskamy wykonując coś takiego

  • zapisujemy dane z /proc/schedstat
  • uruchamiamy kernbench -M
  • zapisujemy dane z /proc/schedstat

Z kolei gdy testujemy podsystem vm możemy zrobić coś w stylu

  • zapisujemy dane z /proc/vmstat
  • uruchamiamy kernbench -H -O
  • zapisujemy dane z /proc/vmstat

Opcje

kernbench [-n przebiegów] [-o zadań] [-s] [-H] [-O] [-M] [-h] [-v]
n : liczba przebiegów testu (domyślnie 5)
o : liczba równoległych zadań (domyślnie 4 * liczba procesorów)
s : ogranicza liczbę wątków do jednego
H : nie wykonuje testów na małym obciążeniu (domyślnie wykonuje)
O : nie wykonuje testów na optymalnym obciążeniu (domyślnie wykonuje)
M : nie wykonuje testów na maksymalnym obciążeniu (domyślnie wykonuje)
f : szybki przebieg
h : wyświetla pomoc
v : wyświetla numer wersji

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-Share Alike 2.5 License.