Что такое процесс mmcqd?

13

У меня Raspberry Pi работает без Raspbian Wheezy без программного обеспечения, связанного с графикой.

У меня запущен биткойн, который в основном потребляет большую часть ресурсов. Обычно, когда я проверяю процессы через top, я вижу, что bitcoindиспользуется только значительное количество ресурсов, с sshdи topна втором и третьем месте или около того.

По некоторым причинам, в настоящее время новый процесс начинает пиковое использование ресурсов, называется mmcqd/0. Он часто использует до 55% мощности процессора в пиковых значениях и остается на постоянном уровне около 5% в противном случае.

Что делает этот процесс?

Я читал, что это может быть вызвано медленной SD-картой, но я проверил свою скорость чтения / записи и получил более 15 МБ / с для обоих (я получил SD-карту класса 10 32 ГБ).

Стивен Руз
источник
совершенно не по теме, запуск майнинга биткойнов на малине никогда не покроет время, потраченное на его установку.
lenik
Тот факт, что я запускаю на нем bitcoind, является просто контекстом, указывающим на то, что он выполняет задачи ввода-вывода. Кроме того, я не использую его для майнинга. Единственная причина, по которой этот вопрос может быть не по теме, заключается в том, что mmcqdэто не специфичный для Pi процесс, а вообще для Linux.
Стивен Руз
3
мой комментарий был не по теме, а не ваш вопрос.
lenik
только что проверил - проблема в том, что bitcoind съедает всю оперативную память, а затем начинает обмен. Для RaspberryPI требуется еще 1 ГБ ОЗУ: - /

Ответы:

10

mmcqdявляется потоком ядра, отвечающим за управление операциями ввода-вывода в очереди на SD-карте. Высокая загрузка ЦП из этого процесса указывает на узкое место дискового ввода-вывода.

Фактическая скорость последовательного чтения / записи не всегда значима для SD-карт, произвольный доступ более типичен для операционной системы. Если вы знаете, что bitcoindчасто записывает некритические данные на диск, подумайте об использовании tmpfsдля хранения данных. Затем, используя задание cron, вы можете периодически синхронизировать данные в tmpfs на диск.

Вы также можете поэкспериментировать с использованием жесткого диска USB, который должен работать лучше с (произвольным) доступом для записи.

Lekensteyn
источник
Какой смысл использовать tmpfsна SD-карте вместо прямого доступа к SD-карте?
Стивен Руз
2
tmpfsнаходится в оперативной памяти. Если один процесс постоянно изменяет крошечные части файла, может быть целесообразно периодически сохранять эти изменения. В основном вы торгуете безопасностью данных для производительности.
Лекенштейн
0

У меня была такая же проблема во встроенной системе Linux, поэтому не совсем Raspberry Pi, но не слишком далеко.

В моем случае проблема была просто в том, что диск был переполнен, и был процесс, пытающийся записать логи. Я полагаю, что повторяющиеся сбои записи приводили к тому, что mmcqd повторялся несколько раз и, возможно, заставлял поток ждать.

После удаления некоторых файлов журнала все было в порядке.

Marco
источник