Czy istnieje narzędzie typu open source do mierzenia wydajności procesora?

21

Wielokrotnie używałem abdo pomiaru wydajności sieci, hdparmpomiaru wydajności dysku twardego i netperfpomiaru wydajności sieci.

Ale nie znalazłem żadnych narzędzi do pomiaru wydajności procesora.

Czy znasz narzędzie pozwalające mierzyć wydajność procesora? Dokładniej chcę zmierzyć Gflops.

Coren
źródło
2
zobacz „ serverfault.com/questions/88357/estimate-flops-in-linux ” do mierzenia gflops i możesz użyć komendy mpstat lub sar do uzyskania wydajności procesora
harish.venkat
1
sar i mpstat wskazuje aktywność procesora, a nie wydajność procesora. Pytanie o awarię serwera wskazuje na użycie LINPACK, który nie jest open source.
Coren
powiązane: askubuntu.com/questions/634513/…
Ciro Santilli 31 改造 中心 法轮功 六四 事件

Odpowiedzi:

10

Powinieneś rzucić okiem na stronę Wikipedii dotyczącą testów porównawczych , która zawiera sporo narzędzi testowych, w tym procesorów, które będą działać w systemie Linux. LinPack jest darmowy, ale kompilacja jest trudna . Ale na pewno możesz spojrzeć na NBench i kilka innych na liście.

Karlson
źródło
NBench jest dobry, ale 15-letni kod. Potrzebujemy czegoś nowego. Link jest nieaktualny BTW.
Konrad Gajewski
3
$ date; i=0; while (( i < 1000000 )); do (( i ++ )); done; date
Tue Jul 15 11:26:37 EDT 2014
Tue Jul 15 11:26:43 EDT 2014
$
JohnMudd
źródło
1
Czy to 43 - 37 = 6 GigaFlops? Nie widzę, jak przyrost liczby całkowitej w powłoce odnosi się do wydajności zmiennoprzecinkowej.
Anthon
Ogólnym celem było „zmierzenie wydajności procesora”. Później wspomina o Gflops, ale myślę, że to właściwie źle wprowadzona styczna. Jeśli prawdziwym celem był Gflops, pytanie o wydajność procesora było błędem.
JohnMudd
Szybszy sposób, aby dostać się do liczby, której tak naprawdę szukasz, tj. DATE=$(date +%s); i=0; while (( i < 1000000 )); do (( i ++ )); done; echo $(( $(date +%s)-DATE ))
Minionych
1
Dobra uwaga, powinienem był to zaktualizować wcześniej. Oto moje obecne podejście: czas (i = 0; while ((i <1000000)); do ((i ++)); gotowe)
JohnMudd
1
To nie jest 6 gigaflopów, to ~ 0,17 megabaszka. A mój Macbook posiada wszystkie:( i=0 ; while (( i < 1000000 )); do; (( i ++ )); done; ) 1.33s user 0.00s system 99% cpu 1.337 total
Steven Lu
1

stress-ng to proste narzędzie, które może stresować i porównywać procesor.

Na przykład przetestowano 1 jednostkę centralną

stress-ng -c 1 --cpu-ops 5000

stress-ng: info: [20288] domyślnie 86400 sekundowe uruchomienie na stresor

stress-ng: info: [20288] wysyłanie wieprzy: 1 jednostka centralna

stress-ng: info: [20288] udany przebieg zakończony w 13,93s

michaelbn
źródło
Myślę, że doradzanie programowi testów warunków skrajnych w celu przeprowadzenia testu porównawczego jest mylące: istnieje duża różnica między testowaniem porównawczym a obciążaniem procesora.
Paradoks