У меня Raspberry Pi работает без Raspbian Wheezy без программного обеспечения, связанного с графикой.
У меня запущен биткойн, который в основном потребляет большую часть ресурсов. Обычно, когда я проверяю процессы через top
, я вижу, что bitcoind
используется только значительное количество ресурсов, с sshd
и top
на втором и третьем месте или около того.
По некоторым причинам, в настоящее время новый процесс начинает пиковое использование ресурсов, называется mmcqd/0
. Он часто использует до 55% мощности процессора в пиковых значениях и остается на постоянном уровне около 5% в противном случае.
Что делает этот процесс?
Я читал, что это может быть вызвано медленной SD-картой, но я проверил свою скорость чтения / записи и получил более 15 МБ / с для обоих (я получил SD-карту класса 10 32 ГБ).
mmcqd
это не специфичный для Pi процесс, а вообще для Linux.Ответы:
mmcqd
является потоком ядра, отвечающим за управление операциями ввода-вывода в очереди на SD-карте. Высокая загрузка ЦП из этого процесса указывает на узкое место дискового ввода-вывода.Фактическая скорость последовательного чтения / записи не всегда значима для SD-карт, произвольный доступ более типичен для операционной системы. Если вы знаете, что
bitcoind
часто записывает некритические данные на диск, подумайте об использованииtmpfs
для хранения данных. Затем, используя задание cron, вы можете периодически синхронизировать данные в tmpfs на диск.Вы также можете поэкспериментировать с использованием жесткого диска USB, который должен работать лучше с (произвольным) доступом для записи.
источник
tmpfs
на SD-карте вместо прямого доступа к SD-карте?tmpfs
находится в оперативной памяти. Если один процесс постоянно изменяет крошечные части файла, может быть целесообразно периодически сохранять эти изменения. В основном вы торгуете безопасностью данных для производительности.У меня была такая же проблема во встроенной системе Linux, поэтому не совсем Raspberry Pi, но не слишком далеко.
В моем случае проблема была просто в том, что диск был переполнен, и был процесс, пытающийся записать логи. Я полагаю, что повторяющиеся сбои записи приводили к тому, что mmcqd повторялся несколько раз и, возможно, заставлял поток ждать.
После удаления некоторых файлов журнала все было в порядке.
источник