Где я: Главная страница » Статьи и обзоры » Мобильные телефоны » Оптимизация и ускорение N900

Файл. архив №1 :: Файл. архив №2
Обменник :: Статьи :: Форум :: Блоги

Файловый архив №1:



Наш чат

» Главная
» Магазин NEW!
» Форум
» Блоги
» F.A.Q.
» Группа VIP
» Обменник
» Мы в Контакте!

Статьи и обзоры
» Новости сайта
» Мобильные телефоны
» Слухи, концепты и прототипы
» Программы и прошивки
» Интернет
» Научное
» F.A.Q.
» Разное

Файловый архив

iPhone
» iPhone Интернет
» iPhone Мультимедиа
» iPhone Системные
» iPhone Офисные
»» iPhone Игры
» iPhone Разное

Android
» Android Офисные
» Android Системные
» Android Безопасность
» Android Интернет
» Android Мультимедиа
» Android Виджеты
»» Android Игры
» Android Навигация
» Android Разное

Series 40
» Series 40 Картинки
» Series 40 Темы
»» Series 40 Игры
» Series 40 Программы
» Series 40 Мелодии
» Series 40 Книги
» Series 40 Разное

Темы для смартфонов
» Темы для Symbian 6, 7, 8
» Темы для Symbian 9.1 - 9.3
» Темы для Symbian 9.4
» Темы для Windows Mobile » Темы для E-Series
» Анимированные темы

Навигация (GPS)
» Навигация (GPS) - Symbian 6, 7, 8
» Навигация (GPS) - Symbian 9.x
» Навигация (GPS) - Карты России
» Навигация (GPS) - Карты СНГ
» Навигация (GPS) - Карты Европы
» Навигация (GPS) - Другие карты

Отобразить дополнительные разделы

Но, как оказалось, это решаемо. Ещё со времен N8хх народ активно экспериментировал с различными настройками ядра Linux, которые позволят избавиться от подобных вещей на мобильных девайсах, и настройки эти, будучи эмпирически выведенными и проверенными, и вправду очень благополучно сказываются на поведении системы. Благополучно настолько, что система продолжает быть весьма отзывчивой даже при захлебывающимся от радости торрент-клиенте Transmission, принимающим файлы на полной скорости, и после недельного аптайма система продолжает работать плавно и даже при 30 открытых окнах браузера переключение тасков происходит также как и при двух (чего нельзя было наблюдать до нижеописанного способа оптимизации системы). А теперь к делу.

Кому лень читать и разбираться — ставите из репозиториев(сейчас в Extras-testing) программу Swappolube («смазка для свопа», если буквально), запускаете и радуетесь жизни. Кому не лень — делаете тоже самое и продолжаете читать. :)

Оптимизация и ускорение N900


Программа эта — всего лишь GUI для изменения параметров ядра с возможностью его перманентного сохранения. Есть и не-GUI версия — swappolube-nogui. Программа эта не меняет никаких системных файлов, ничего не перезаписывает — только передает необходимые параметры ядру через /proc и создает, по желанию, файл в /etc/event.d, который будет применять эти настройки при каждой загрузке. В любой момент изменения можно откатить либо через GUI, либо убив этот файл и перезагрузив систему — но это врядли понадобится, уж слишком много пользователей N900 уже ее поставили и не устают писать на форумах отзывы со словами smooth, speed increase и brilliant.

Итак, что же это за параметры:
echo "30" > /proc/sys/vm/swappiness
echo "0" > /proc/sys/vm/page-cluster
echo "1" > /proc/sys/vm/laptop_mode
echo "1" > /proc/sys/vm/oom_kill_allocating_task
echo "0" > /proc/sys/vm/dirty_expire_centisecs
echo "0" > /proc/sys/vm/dirty_writeback_centisecs
echo "60" > /proc/sys/vm/dirty_background_ratio
echo "95" > /proc/sys/vm/dirty_ratio
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
echo "1" > /proc/sys/net/ipv4/tcp_no_metrics_save


Первый, swappiness, по-умолчанию на Maemo установлен в 100 — это значит, что система будет пытаться сбрасывать память в своп как можно чаще и больше. Тут мы меняем его на 30 (это проценты) — что позволяет уменьшить количество обращений к диску(точнее к eMMC-флешке, на которой размещен своп), причем заметно. Возможно есть сценарии, при которых это будет не самое оптимальное решение, но в подавляющем большинстве это как раз то, что приводило к заметным подтормаживаниям при активной работе с N900.

Далее, page-cluster — эта опция контролирует количество страниц памяти, которые будут записываться в своп за один раз. Значение «0» означает 1 страницу, «1» — 2 страницы, 2 — 4 страницы и т.д. по экспоненте. По умолчанию в Maemo установлено значение «5» (32 страницы). Возможно на десктоп системах это значение лучше повышать, но на мобильном девайсе один такой цикл записи уже даёт более заметное замедление отзывчивости, а при swappines=100 проявляется во всей красоте. Ставим «1» — пусть в своп пишется дольше, но незаметно для пользователя и без влияния на отзывчивость UI.

Третий параметр, laptop_mode — если установлен не в «0», то активирует отложенную запись на диск. Причем активирует достаточно хитро, пытаясь выделять так называемые «периоды активности» системы, чтобы использовать обращения к диску максимально эффективно. Грубо говоря — если у нас есть страницы памяти, ожидающие сброса на диск(своп или «грязные» — ещё не синхронизированные буферы диска), не начинать операцию записи, пока не будет обращения к диску — это позволяет как-бы «сгруппировать» операции записи на диск, уменьшая количество обращений к диску, увеличивая срок жизни флеш-памяти и уменьшая электропотребление(насколько заметно не знаю, но сам факт).
С этим параметром неразрывно связаны еще четыре:
dirty_expire_centisecs, dirty_writeback_centisecs — это отдельные параметрs для отложенного сброса «грязных» буферов. В laptop_mode установлены в 0 — за откладывание теперь заботится laptop_mode (по-умолчанию, установлены в 500 сантисекунд)
dirty_background_ratio, dirty_ratio — минимальное и максимальное количество памяти(в процентах от общей памяти), которое может отводиться для хранения «грязных» буферов. Эти параметры для меня остаются слегка темным пятном, но поверю на слово maemo-сообществу. По умолчанию установлены в 10 и 40, мы же ставим 60 и 95.

Дальше, oom_kill_allocating_task — меняет поведение «убийцы процессов» — OOM-киллера. Обычно при нехватке памяти(у меня никогда на N900 еще не случалось, правда) он убивает процессы которые сидят в фоне и едят память — и это может быть в принципе любой процесс. Данная же опция заставляет его убивать именно тот процесс, который пытается сейчас получить память и получает ошибку out-of-memory. Звучит здраво, но видимо на общую работоспособность системы не очень влияет, только на критические состояния.

И последние две опции, относятся к TCP/IP стеку:
tcp_timestamps — позволяет отключить добавление временных меток в TCP-пакеты. Как-бы экономит и процессор и место — всмысле в один пакет больше влезет. Насколько реально помогает, не знаю. На безопасность вроде не влияет.
tcp_no_metrics_save — говорит стеку, не кешировать последние соединения. Может быть полезно для 2G/3G сетей.

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

From habrahabr

Тэги: n900, optimize, kernel, swap, maemo

Поделись новостью с другом по ICQ или E-Mail:
Разместить у себя на ресурсе или в ЖЖ:
На любом форуме в своем сообщении:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
 (голосов: 4)
 

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
Smart-Planet.ru - сайт посвящённый мобильным устройствам на: Android, Symbian и Windows Mobile. За время существования с 2007-2019 год мы собрали огромное количество контента на различную тематику (игры, программы, темы, видео). Сейчас насчитывается около 25 тыс. приложений доступных к скачиванию бесплатно.

Все файлы расположенные на данном ресурсе были взяты из открытых источников. Любая информация представленная здесь, может использоваться только в ознакомительных целях, после чего вы обязаны ее удалить. Ни администрация сайта, ни хостинг-провайдер, ни любые другие лица не могут нести отвественности за использование материалов данного сайта. Входя на сайт вы автоматически соглашаетесь с данными условиями.