Apakah ada alat open source untuk mengukur kinerja cpu?

21

Saya telah menggunakan banyak kali abuntuk mengukur kinerja web, hdparmuntuk mengukur kinerja hard disk dan netperfuntuk mengukur kinerja jaringan.

Tetapi saya tidak menemukan alat untuk mengukur kinerja cpu.

Apakah Anda tahu alat yang memungkinkan untuk mengukur kinerja cpu? Saya lebih khusus mencari untuk mengukur GFLOPS.

Coren
sumber
2
lihat " serverfault.com/questions/88357/estimate-flops-in-linux " untuk mengukur gflop dan Anda dapat menggunakan perintah mpstat atau sar untuk kinerja cpu
harish.venkat
1
sar dan mpstat menunjukkan aktivitas cpu, bukan kinerja cpu. Pertanyaan Serverfault menunjukkan untuk menggunakan LINPACK, yang bukan merupakan sumber terbuka.
Coren
terkait: askubuntu.com/questions/634513/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Jawaban:

10

Anda harus melihat halaman Wikipedia tentang benchmarking , itu memberikan beberapa alat benchmark termasuk CPU yang akan bekerja di Linux. Linpack gratis tapi rasa sakit untuk mengkompilasi. Tetapi Anda tentu dapat melihat NBench dan beberapa orang lain dalam daftar.

Karlson
sumber
NBench bagus, tapi kode 15 tahun. Kami membutuhkan sesuatu yang baru. Tautannya basi 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
sumber
1
Apakah itu menjadi 43 - 37 = 6 GigaFlops? Saya gagal melihat bagaimana kenaikan bilangan bulat dalam shell, terkait dengan kinerja floating point.
Anthon
Tujuan umum adalah "mengukur kinerja cpu". Kemudian menyebutkan Gflops tapi saya pikir itu sebenarnya tangen yang salah arah. Jika Gflops adalah tujuan sebenarnya maka bertanya tentang kinerja CPU adalah kesalahan.
JohnMudd
Cara lebih cepat untuk mendapatkan nomor yang benar-benar Anda cari, yaitu detik yang telah berlalu : DATE=$(date +%s); i=0; while (( i < 1000000 )); do (( i ++ )); done; echo $(( $(date +%s)-DATE ))
xenithorb
1
Poin bagus, saya harus memperbarui ini sebelumnya. Inilah pendekatan saya saat ini: waktu (i = 0; while ((i <1000000)); do ((i ++)); selesai)
JohnMudd
1
Ini bukan 6 gigaflops, ini ~ 0,17 megabashincrements. Dan, macbook saya memiliki semua:( i=0 ; while (( i < 1000000 )); do; (( i ++ )); done; ) 1.33s user 0.00s system 99% cpu 1.337 total
Steven Lu
1

stress-ng adalah alat sederhana yang dapat menekankan dan membandingkan CPU.

Misalnya, menguji 1 cpu

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

stress-ng: info: [20288] default ke 86400 detik per stresor

stres-ng: info: [20288] pengiriman babi: 1 cpu

stress-ng: info: [20288] proses yang berhasil diselesaikan dalam 13,93s

michaelbn
sumber
Saya pikir menasihati program pengujian stres untuk benchmark menyesatkan: ada perbedaan besar antara pembandingan dan penekanan CPU.
Paradox