Убийства OOM и перестановка для устройств IoT с хранилищем eMMC и SD?

339
jww

Я иногда испытываю нехватку памяти (OOM) от компилятора на BeagleBoards, CubieTrucks и т. Д. Это устройства IoT, работающие на ARM, обычно имеющие от 512 МБ до 2 ГБ оперативной памяти и использующие 4 или 8 ГБ eMMC и SD-карта хранения. Им часто не хватает файла подкачки из-за характеристик базовой технологии хранения.

Я нашел много информации о настольных компьютерах и серверах, но не об устройствах IoT.

Я также понимаю, что дополнительные записи сокращают срок службы СМИ.

Каковы рекомендации по обмену в отношении BeagleBoards, CubieTrucks и т. Д.?

0
Очень медленная запись (и относительное низкое количество записей) вообще не предлагает SWAP, но, если возможно, жесткое управление памятью в приложении, избегающее исчерпания памяти (я бы порекомендовал, но я кодер ;-) Dilettant 7 лет назад 0
@Dilettant - Эти устройства по умолчанию не используют файл подкачки. Я хочу поэкспериментировать с файлом подкачки, потому что у меня заканчивается ОЗУ. Я ничего не могу поделать с убийствами OOM в `cc1plus` (я также пробовал другие вещи, например, избегал` -pipe`). Я также [сообщил о проблеме] (http://bugs.linaro.org/show_bug.cgi?id=1997) Линаро. Они тоже ничего не могут сделать. jww 7 лет назад 1
Я использовал крошечный своп с устройством, оснащенным eMMC, управляемым Yocto Linux, - но он был настолько крошечным, что я не получил ни прибыли от ситуаций outOfRAMbutStillInSwap = (), ни меня не интересовало, как это влияет на физическое здоровье. Dilettant 7 лет назад 0
Почему бы не выполнить кросс-компиляцию на вашем ПК? Daniel B 7 лет назад 0
@DanielB - Это зависит от библиотеки, которая тестируется. Crypto ++ прост (имеет документированные процедуры); OpenSSL не так прост (он не имеет официальных, документированных процедур). Чтобы избежать проблем с кросс-компиляцией, я просто подключаю SSH к устройству и выполняю встроенную сборку. Другой вариант - [Debian Chroot's] (http://cryptopp.com/wiki/Debian_Chroot) на хост-компьютере, который работает в 10 раз медленнее. jww 7 лет назад 0
Я предлагаю вам заглянуть в Crosstool-ng. Это работало хорошо для меня, когда я попробовал это давным-давно. Это должно сделать кросс-компиляцию намного проще. Daniel B 7 лет назад 0

0 ответов на вопрос

Похожие вопросы