Dapatkan penggunaan CPU dan GPU di Raspberry Pi

22

Saya mencoba mencari pemecahan yang baik untuk CPU / GPU. Apakah ada cara untuk memantau penggunaan CPU dan GPU untuk melihat di mana saya harus melakukan pemisahan?

Sendok
sumber
1
Pertanyaan ini mungkin bermanfaat bagi Anda.
Jivings
1
IMO pertanyaannya membingungkan. Apakah Anda ingin mengetahui penggunaan memori untuk aplikasi dan grafik (sehingga Anda dapat menentukan pemisahannya) atau apakah Anda ingin mengetahui beban CPU / GPU saat ini?
keiki
@ otakun85 Saya ingin tahu penggunaan aplikasi saat ini sehingga saya dapat membuat keputusan yang baik tentang di mana membuat perpecahan
Scoop
@ Jivings Ya itu pertanyaan yang bagus. Adalah baik untuk mengetahui bahwa fitur-fitur tertentu hidup dan mati tergantung pada seberapa banyak memori yang dialokasikan untuk GPU. Jika mungkin, akan sangat membantu untuk mengetahui penggunaan yang tepat juga menentukan kategori mana yang saya
pilih

Jawaban:

13

Salah satu solusi mudah adalah dengan mendapatkan Raspberry Pi sendiri untuk mengatur bagaimana RAM dibagi antara CPU dan GPU dengan pemecahan memori dinamis . Meskipun raspi-config tidak dapat melakukan ini untuk Anda, ada contoh pengaturan untuk /boot/config.txt yang tersedia di forum.

Shapr
sumber
Terima kasih untuk ini. Saya tidak menyadari bahwa tim mendapatkan pembelahan dinamis dengan benar.
Vincent P
15

Anda bisa mendapatkan tampilan waktu nyata dari penggunaan memori menggunakan perintah topatau htop. Anda mungkin perlu menginstal htopjika menerima pesan htop: command not found. Dengan asumsi Anda menggunakan Raspbian, instal dengan menjalankansudo apt-get install htop

Bert
sumber
2
Apa manfaatnya dibanding yang biasa top?
Morgan Courbet
1
htop tampaknya menjadi "lebih baik" htop.sourceforge.net/index.php?page=comparison
Scoop
2
htoplebih ramah pengguna. Saya selalu menggunakan htopbukannyatop
w0rldart
Plus, jika Anda menggunakan mesin multi-core seperti RPi 2 Anda melihat beban untuk masing-masing inti dalam grafik batang yang bagus, dan misalnya ketika Anda melihat 'python' dalam daftar tugas, ia menunjukkan seluruh baris perintah sehingga Anda lihat program mana yang sedang berjalan
jpwynn
@ jpwynn Perhatikan bahwa dengan topAnda menekan 1dan Anda melihat semua prosesor juga. Tapi saya setuju bahwa htopsecara umum lebih baik / lebih mudah digunakan.
Alexis Wilke
11

Pada dasarnya saat ini Anda tidak bisa mendapatkan penggunaan GPU. Anda hanya bisa mendapatkan penggunaan CPU, coba topperintahnya.

Perbarui Raspbian sekarang termasuk htopyang lebih verbose dan lebih mudah dibaca

Mengenai pemisahan CPU / GPU yang optimal. Ini benar-benar tergantung pada apa Anda menggunakan RPi Anda. Jika Anda tidak memutar video dan game (GPU dioptimalkan), berikan CPU paling banyak RAM. Juga jika Anda menjalankan "tanpa kepala" (Tidak terhubung ke layar) maka tetapkan CPU sebanyak RAM yang Anda bisa.

Chromium saat ini tidak menggunakan GPU, periksa utas berikut . Ini dari salah satu yang melakukan pengembangan Chromium untuk Raspberry Pi. Juga ada beberapa tips tentang cara membuat Chromium berjalan lebih cepat di pos asli.

Vincent P
sumber
jadi masalahnya adalah bahwa saya tidak yakin apakah chrome menggunakan GPU atau tidak. Dan jika ya, untuk jenis hal apa. Ini akan berguna untuk penggunaan GPU, tetapi mungkin tidak mungkin
Scoop
@ Slop Saya telah memperbarui jawaban saya sesuai.
Vincent P
@Scoop Dari pengujian saya hari ini (2018) dukungan untuk GPU termasuk dalam browser Chrome. Anda dapat melihatnya dengan masuk chrome://gpu.
Alexis Wilke
7

Untuk memantau penggunaan RAM, Anda dapat menjalankan free -h -s 1. Setiap detik ( -s 1), tabel serupa akan ditampilkan:

             total       used       free     shared    buffers     cached
Mem:          438M       146M       292M         0B        15M       102M
-/+ buffers/cache:        28M       409M
Swap:          99M         0B        99M

Garis Mem:adalah apa yang Anda cari.

Pada contoh di atas, Anda dapat melihat bahwa, dengan total 438MB, 146MB saat ini digunakan, dan 292MB tetap gratis. Pada RPi 512MB saya, saya telah menetapkan 64MB untuk GPU.

Morgan Courbet
sumber
2
Perhatikan bahwa ini bukan penggunaan CPU, melainkan penggunaan RAM.
Hut8
2

Untuk memantau penggunaan CPU, RAM dan SWAP di Raspbian, Anda dapat menggunakan TOP atau HTOP.

Di terminal, jalankan top. TOP tersedia secara default, dan memberikan detail yang cukup bagus. TOP di Terminal Raspbian RPi3

Tapi, saya menemukan HTOP lebih bermanfaat, dengan detail dan fitur yang lebih baik. HTOP tidak tersedia secara default, dan perlu diinstal.

Jalankan sudo apt-get update && sudo apt-get install htopdi Terminal untuk menginstal HTOP.

Di terminal, jalankan htopsetelah instalasi selesai.

HTOP dalam Raspbian RPi 3

Semoga itu bisa membantu.

Dr.Viper
sumber
2

Perintah yang akan memberi Anda wawasan tentang apa yang dialokasikan oleh GPU sudo vcdbg reloc. Outputnya seperti apa yang dimulai di sini. Dalam kasus saya, saya bisa melihat bahwa alokasi 236M terlalu dekat dengan nilai di /boot/config.txt-> gpu_mem=256jadi saya perlu sedikit meningkatkannya.

Relocatable heap version 4 found at 0x30000000
total space allocated is 236M, with 234M relocatable, 2.3M legacy and 0 offline
1 legacy blocks of size 2359296

free list at 0x3ad9aaa0
352 free memory in 2 free block(s)
largest free block is 320 bytes

0x30000000: legacy block 2.3M
0x30240000: free 320
[  80] 0x30240140: used  608 (refcount 1 lock count 0, size      540, align    4, data 0x30240160, d0rual) 'GLXX_TEXTURE_T'
[  78] 0x302403a0: used  192 (refcount 1 lock count 0, size      128, align    4, data 0x302403c0, D1rual) 'GLXX_BUFFER_INNER_T.storage'
OutsourcedGuru
sumber
1
Mungkin agak membingungkan bagi orang bahwa Anda telah berkata, "Dalam kasus saya, saya dapat melihat bahwa alokasi 236M terlalu dekat dengan nilai di /boot/config.txt -> gpu_mem = 256", karena pada pandangan pertama ini berarti Anda mendapat nomor pertama dari baris pertama, yang akan selalu sama. Jumlah memori bebas sebenarnya dalam bait kedua, dan jumlah yang digunakan akan menjadi nilai yang dialokasikan (236M) dikurangi ini. Mereka akan setuju dengan vcgencmd get_mem relocdan vcgencmd get_mem reloc_total. raspberrypi.org/forums/viewtopic.php?t=158157
goldilocks