¿Qué es el proceso mmcqd?

13

Tengo un Raspberry Pi que ejecuta Raspbian Wheezy sin cabeza con todo el software relacionado con gráficos desinstalado.

Tengo bitcoind en ejecución, que consume principalmente la mayoría de los recursos. Por lo general, cuando reviso los procesos a través de top, puedo ver que solo bitcoindusa una cantidad significativa de recursos, con sshdy topen segundo y tercer lugar más o menos.

Por alguna razón, actualmente, un nuevo proceso comienza a alcanzar su punto máximo en el uso de recursos, llamado mmcqd/0. A menudo utiliza hasta el 55% de la potencia de la CPU en los picos y, de lo contrario, se mantiene en una constante de alrededor del 5%.

¿Qué hace este proceso?

He leído que esto puede ser causado por una tarjeta SD lenta, pero probé mis velocidades de lectura / escritura y obtuve> 15 MB / s para ambos (obtuve una tarjeta SD de clase 10 de 32 GB).

Steven Roose
fuente
totalmente fuera de tema, ejecutar la minería de bitcoin en la frambuesa nunca cubriría el tiempo que pasas instalándolo.
lenik
El hecho de que ejecute bitcoind es solo contexto para indicar que realiza tareas de E / S. Además, no lo uso para minar. La única razón por la que esta pregunta podría estar fuera de tema sería porque mmcqdno es un proceso específico de Pi, sino que existe para Linux en general.
Steven Roose
3
mi comentario estaba fuera de tema, no es tu pregunta.
lenik
recién probado: el problema es que bitcoind come toda la RAM y luego comienza a intercambiar. Se necesita otra RAM de 1 GB para RaspberryPI: - /

Respuestas:

10

mmcqdes un hilo del núcleo, responsable de administrar las operaciones de E / S en cola en la tarjeta SD. Un uso elevado de la CPU de ese proceso indica que tiene un cuello de botella de E / S de disco.

La velocidad de lectura / escritura secuencial real no siempre es significativa para las tarjetas SD, el acceso aleatorio es más típico para un sistema operativo. Si sabe que con bitcoindfrecuencia escribe datos no críticos en el disco, considere usarlos tmpfspara el almacenamiento de datos. Luego, utilizando un trabajo cron, puede sincronizar periódicamente los datos en tmpfs al disco.

También puede experimentar con el uso de un disco duro USB, que debería funcionar mejor con acceso de escritura (aleatorio).

Lekensteyn
fuente
¿Cuál es el punto de usar tmpfsen la tarjeta SD en lugar de acceder a la tarjeta SD directamente?
Steven Roose
2
tmpfsreside en la RAM. Si un proceso cambia constantemente pequeñas partes de un archivo, puede valer la pena guardar estos cambios periódicamente. Básicamente, está intercambiando seguridad de datos por rendimiento.
Lekensteyn
0

He tenido el mismo problema en un sistema Linux incorporado, por lo que no es exactamente una Raspberry Pi, pero no está muy lejos.

En mi caso, el problema era simplemente que el disco estaba lleno y había un proceso tratando de escribir registros. Creo que las repetidas fallas de escritura estaban causando que mmcqd volviera a intentarlo varias veces y tal vez mantuviera un hilo en espera.

Después de eliminar algunos archivos de registro, todo estuvo bien.

Marco
fuente