Qual é o processo mmcqd?

13

Eu tenho um Raspberry Pi executando o Raspbian Wheezy sem cabeça com todos os softwares relacionados a gráficos desinstalados.

Eu tenho o bitcoind em execução, que consome a maioria dos recursos. Normalmente, quando verifico os processos via top, percebo que apenas bitcoindutiliza uma quantidade significativa de recursos, com sshde topno segundo e terceiro lugares ou mais.

Por alguma razão, atualmente, um novo processo começa a atingir o pico de uso de recursos, chamado mmcqd/0. Geralmente, usa até 55% da energia da CPU em picos e permanece constante em torno de 5%.

O que esse processo faz?

Li que isso pode ser causado por um cartão SD lento, mas testei minhas velocidades de leitura / gravação e obtive> 15 MB / s para ambos (recebi um cartão SD classe 10 de 32 GB).

Steven Roose
fonte
totalmente fora de tópico, executar a mineração de bitcoin na framboesa nunca cobriria seu tempo gasto na instalação.
1811
O fato de eu executar o bitcoind nele é apenas um contexto para indicar que ele executa tarefas de E / S. Além disso, eu não uso para mineração. A única razão pela qual essa pergunta poderia estar fora do tópico seria porque mmcqdnão é um processo específico do Pi, mas existe para o Linux em geral.
Steven Roose 14/05
3
meu comentário estava fora do tópico, não é sua pergunta.
116813
acabou de testar - o problema é que o bitcoind consome toda a RAM e começa a trocar. Outra RAM de 1 GB necessária para o RaspberryPI: - /

Respostas:

10

mmcqdé um encadeamento do kernel, responsável pelo gerenciamento de operações de E / S em fila no cartão SD. Um alto uso de CPU desse processo indica que você tem um gargalo de E / S de disco.

A velocidade de leitura / gravação seqüencial real nem sempre é significativa para cartões SD, o acesso aleatório é mais típico para um sistema operacional. Se você souber que bitcoindfrequentemente grava dados não críticos no disco, considere usar tmpfspara armazenamento de dados. Em seguida, usando um trabalho cron, você pode sincronizar periodicamente os dados em tmpfs para o disco.

Você também pode experimentar o uso de um HDD USB, que deve ter um desempenho melhor com o acesso de gravação (aleatório).

Lekensteyn
fonte
Qual é o sentido de usar tmpfsno cartão SD em vez de acessar diretamente o cartão SD?
Steven Roose
2
tmpfsreside na RAM. Se um processo está constantemente alterando pequenas partes de um arquivo, pode valer a pena salvar essas alterações periodicamente. Basicamente, você está trocando segurança de dados por desempenho.
Lekensteyn
0

Eu tive o mesmo problema em um sistema Linux incorporado, portanto, não exatamente um Raspberry Pi, mas não muito longe.

No meu caso, o problema era simplesmente que o disco estava cheio e houve um processo tentando gravar logs. Acredito que as repetidas falhas de gravação estavam fazendo com que o mmcqd tentasse novamente várias vezes e talvez mantivesse um thread em espera.

Depois de remover alguns arquivos de log, tudo estava bem.

Marco
fonte