Obter uso de CPU e GPU no Raspberry Pi

22

Estou tentando descobrir uma boa divisão para a CPU / GPU. Existe uma maneira de monitorar o uso da CPU e da GPU para ver onde devo fazer a divisão?

Scoop
fonte
1
Esta pergunta pode ser útil para você.
Jivings
1
IMO a pergunta é confusa. Deseja saber o uso de memória para aplicativos e gráficos (para definir a divisão) ou deseja saber a carga atual de CPU / GPU?
217 keiki
@ otakun85 Eu quero saber o uso atual das aplicações para que eu possa fazer uma boa decisão sobre onde fazer a divisão
colher
@ Jivings Sim, essa foi uma boa pergunta. É bom saber que certos recursos são ativados e desativados, dependendo da quantidade de memória alocada à GPU. Se possível apesar de que seria útil saber o uso exato também determinar qual categoria eu caio
colher

Respostas:

13

Uma solução fácil é fazer com que o próprio Raspberry Pi gerencie como a RAM é dividida entre a CPU e a GPU com divisão dinâmica de memória . Embora o raspi-config não possa fazer isso por você, existem exemplos de configurações para /boot/config.txt disponíveis nos fóruns.

shapr
fonte
Obrigado por isso. Eu não sabia que a equipe havia acertado a divisão dinâmica.
Vincent P
15

Você pode obter uma visualização em tempo real do uso da memória usando o comando topou htopPode ser necessário instalar htopse você receber a mensagem htop: command not found. Supondo que você esteja usando Raspbian, instale-o executandosudo apt-get install htop

Bert
fonte
2
Quais são os benefícios em relação ao regular top?
Morgan Courbet
1
htop parece ser "melhor" htop.sourceforge.net/index.php?page=comparison
Scoop
2
htopé mais amigável. Eu sempre uso em htopvez detop
w0rldart
Além disso, se você estiver usando uma máquina com vários núcleos, como o RPi 2, verá a carga de cada núcleo em um bom gráfico de barras e, por exemplo, quando você vê 'python' na lista de tarefas, ele mostra toda a linha de coma e você veja qual programa está sendo executado
jpwynn 23/01
@jpwynn Observe que, ao toppressionar, 1você também vê todos os processadores. Mas concordo que htopgeralmente é melhor / mais fácil de usar.
Alexis Wilke
11

Basicamente, você não pode obter o uso da GPU no momento. Você só pode obter o uso da CPU, tente o topcomando

A atualização do Raspbian agora inclui o htopque é mais detalhado e mais fácil de ler

Em relação à melhor divisão CPU / GPU. Realmente depende do que você está usando seu RPi. Se você não estiver reproduzindo vídeos e jogos (otimizado por GPU), forneça à CPU a maior quantidade de RAM. Além disso, se você estiver executando "decapitado" (não conectado a uma tela), atribua à CPU o máximo de RAM possível.

No momento, o Chromium não usa a GPU, verifique o seguinte segmento . É de um dos caras que está desenvolvendo o Chromium para o Raspberry Pi. Além disso, existem algumas dicas sobre como executar o Chromium mais rapidamente na postagem original.

Vincent P
fonte
então o problema é que não tenho certeza se o chrome usa ou não a gpu. E se sim, para que tipos de coisas. Seria útil para o uso de GPU, mas pode não ser possível
colher
@Scoop Atualizei minha resposta de acordo.
Vincent P
@Scoop No meu teste de hoje (2018), o suporte para a GPU está incluído no navegador Chrome. Você pode ver isso indo para chrome://gpu.
Alexis Wilke
7

Para monitorar o uso da RAM, você pode executar free -h -s 1. A cada segundo ( -s 1), uma tabela semelhante será exibida:

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

A linha Mem:é o que você está procurando.

No exemplo acima, você pode ver que, em um total de 438MB, 146MB estão sendo usados ​​no momento e 292MB permanecem livres. No meu RPi de 512 MB, configurei 64 MB para a GPU.

Morgan Courbet
fonte
2
Observe que esse não é realmente o uso da CPU, é o uso da RAM.
precisa saber é o seguinte
2

Para monitorar o uso da CPU, RAM e SWAP no Raspbian, você pode usar TOP ou HTOP.

No terminal, corra top. O TOP está disponível por padrão e fornece detalhes razoavelmente bons. TOP no Raspbian Terminal RPi3

Mas acho o HTOP mais útil, com melhores detalhes e recursos disponíveis. O HTOP não está disponível por padrão e precisa ser instalado.

Execute sudo apt-get update && sudo apt-get install htopno Terminal para instalar o HTOP.

No terminal, execute htopapós a conclusão da instalação.

HTOP em Raspbian RPi 3

Espero que ajude.

Dr.Viper
fonte
2

O comando que lhe dará informações sobre o que está sendo alocado pela GPU é sudo vcdbg reloc. A saída se parece com o que começa aqui. No meu caso, pude ver que os 236M alocados estavam muito próximos do valor em /boot/config.txt-> gpu_mem=256então eu precisava aumentar um pouco.

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
fonte
1
Pode ser um pouco confuso para as pessoas que você disse: "No meu caso, pude ver que os 236M alocados estavam muito próximos do valor em /boot/config.txt -> gpu_mem = 256", pois à primeira vista isso implica que você obteve o primeiro número da primeira linha, que sempre será o mesmo. A quantidade de memória livre está na segunda estrofe e a quantidade usada seria o valor alocado (236M) menos isso. Aqueles concordarão com vcgencmd get_mem reloce vcgencmd get_mem reloc_total. raspberrypi.org/forums/viewtopic.php?t=158157
goldilocks