J'ai un Raspberry Pi exécutant Raspbian Wheezy sans tête avec tous les logiciels liés aux graphiques désinstallés.
J'ai bitcoind en cours d'exécution, qui consomme principalement la plupart des ressources. Habituellement, lorsque je vérifie les processus via top
, je peux voir que bitcoind
n'utilise qu'une quantité importante de ressources, avec sshd
et top
sur la deuxième et la troisième place.
Pour une raison quelconque, actuellement, un nouveau processus commence à culminer dans l'utilisation des ressources, appelé mmcqd/0
. Il utilise souvent jusqu'à 55% de la puissance du processeur dans les pics et reste à une constante d'environ 5% dans le cas contraire.
Que fait ce processus?
J'ai lu que cela peut être dû à une carte SD lente, mais j'ai testé mes vitesses de lecture / écriture et j'ai obtenu> 15 Mo / s pour les deux (j'ai obtenu une carte SD de classe 10 de 32 Go).
mmcqd
n'est pas un processus spécifique à Pi, mais existe pour Linux en général.Réponses:
mmcqd
est un thread du noyau, responsable de la gestion des opérations d'E / S en file d'attente sur la carte SD. Une utilisation élevée du processeur de ce processus indique que vous avez un goulot d'étranglement d'E / S disque.La vitesse de lecture / écriture séquentielle réelle n'est pas toujours significative pour les cartes SD, l'accès aléatoire est plus typique pour un système d'exploitation. Si vous savez que l'
bitcoind
écriture fréquente de données non critiques sur le disque, envisagez d'utilisertmpfs
pour le stockage des données. Ensuite, à l'aide d'une tâche cron, vous pouvez synchroniser périodiquement les données de tmpfs sur le disque.Vous pouvez également expérimenter l'utilisation d'un disque dur USB, qui devrait mieux fonctionner avec un accès en écriture (aléatoire).
la source
tmpfs
sur la carte SD au lieu d'accéder directement à la carte SD?tmpfs
réside dans la RAM. Si un processus modifie constamment de minuscules parties d'un fichier, il peut être utile d'enregistrer ces modifications régulièrement. Fondamentalement, vous échangez la sécurité des données contre des performances.J'ai eu le même problème sur un système Linux embarqué, donc pas exactement un Raspberry Pi mais pas trop loin.
Dans mon cas, le problème était simplement que le disque était plein et qu'un processus tentait d'écrire des journaux. Je crois que les échecs d'écriture répétés ont provoqué plusieurs tentatives de mmcqd et peut-être de garder un thread en attente.
Après avoir supprimé certains fichiers journaux, tout allait bien.
la source