Итак, основная проблема, которая была найдена - это принудительное изменение параметра overcommit_memory в конфигурации LunaSysMgr. Этот параметр означает, что все процессы и Luna (оболочка webOS, основной потребитель оперативной памяти) в первую очередь могут запрашивать больший объем RAM, чем им необходим. В теории это позволяет добиться более быстрой работы девайса, но на пре-, из-за нехватки RAM, это вызывает обратный эффект - тотальное заполнение свопа и тормоза в работе вплоть до зависаний. Изменить этот параметр просто, достаточно отредактировать файл /etc/event.d/LunaSysMgr, закомментировав строку "echo "1" > /proc/sys/vm/overcommit_memory" (нужно поместить # в самом начале строки). Для редактирования скриптов лучше использовать консольные редакторы nano или vi, с другими всегда включайте unix-переносы строк в настройках (LF) вместо windows (CR+LF), иначе смартфон не загрузится. Редактировать их можно как на самом смартфоне (с помощью SDLTerminal), так и на компьютере (через novacom/ssh).
Второй этап. Для наилучшего управления свопом с ограниченными ресурсами необходимо настроить ряд параметров vm.*, используемых ядром. Для этого создаем файл /etc/sysctl.conf и записываем в него следующее:
- Код: Выделить всё
vm.swappiness = 20
vm.vfs_cache_pressure = 180
vm.dirty_expire_centisecs = 180000
vm.dirty_writeback_centisecs = 60000
Для понимания смысла параметров обращаемся к первоисточнику либо к документации sysctl: http://www.mjmwired.net/kernel/Document ... ctl/vm.txt
Оригинальный пост от Xanadu73 на PreCentral.