Как известно, для записи кэша не хватает свободного озу (по крайней мере с использованием vplay). Я, для оптимизации, удалил все приложения, установленные из официального маркета. Кроме airplay и apple tv - они каждый раз сами ставятся после перезагрузки.
Но все равно памяти озу мало. Решил поковыряться в ZRam и ZSwap (у меня он eSWAP). В том числе подключал дополнительный раздел swap на внешнем ssd диске, подключенному к тв по USB, менял приоритеты, а также ковырял соответствующие параметры в sysctl и fstab.
Пока в процессе тестирования настроек, но уже есть прогресс, например vPlay уже может не вылетать.
Сейчас пробую изменять параметры zram и смотреть, как это повлияет на работу системы. Инфа о модуле zram здесь:
https://www.kernel.org/doc/Documentation/blockdev/zram.txt
Итак, что бы хотелось:
Цель 1 - создать вместо одного раздела zRam0, предлагаемого по умолчанию, 4 раздела (по одному на ядро процессора). Хотя для стандартного zram0 параметр max_comp_streams=4 (у меня 4-х ядерный cpu). Вроде как создал их с помощью команды:
- Код: Выделить всё
echo X > /sys/class/zram-control/hott_add
Цель 2 - в принципе опустошить и деактивировать zRam0, чтоб его объем вернулся в озу (для тестов). Из вики:
При наличии в системе нескольких разделов подкачки, zram-устройство, использующееся в качестве раздела подкачки страниц памяти, будет иметь более высокий приоритет, таким образом все выгружаемые страницы попадут в первую очередь в zram-устройство. При переполнении этого раздела вновь выгружаемые страницы будут попадать в следующие, более медленные, swap-разделы, в результате чего появляется высокая вероятность возникновения LRU-инверсии https://together.jolla.com/question/75162/replacing-zram-with-zswap/
Поэтому я хочу попробовать удалить zram0 и оставить swap на ssd. Пока не получается. Отключил и размонтировал dev/mapper/eswap, пробовал сбросить параметр reset для zram0, но команда:
- Код: Выделить всё
echo X > sys/class/zram-control/hot_remove
выдает busy для zram0. Как отключить - может кто знает? При этом созданные 1, 2, 3 разделы этой командой удаляются. При этом, размер ОЗУ как был, так и не меняется.
Цель 3 - cоздать и смонтировать соответственно 4 раздела zRam и zSWAP (как eSwap по умолчанию). При этом, чтоб мог "отщипнуть" от ОЗУ столько, сколько мне нужно. Пока не дошел до этого.
Так вот у меня проблема - не могу удалить стандартный zRam и eSwap. Могли бы помочь?
И, самое главное, могли бы помочь в тонкой настройке и оптимизации ресурсов ТВ? В том числе, как можно удалить стандартные программы, которые мне не нужны, типа Airplay, Apple TV, Web Browser и прочие ненужные сервисы, службы, процессы? Можно ли просто удалить их из директорий:
- Код: Выделить всё
/media/system/apps/usr/palm/applications
/media/developer/apps/usr/palm/applications
/media/cryptofs/apps/usr/palm/applications
или останутся хвосты?
Также, может кто знает еще что ненужного из служб и процессов, которые нагружают проц и озу, можно отключить?
PS. чтоб получить возможность менять файлы в squashfs разделах пришлось перемонтировать монтировать /etc в /media. Для этого создаем и копируем:
- Код: Выделить всё
mkdir -p /media/cryptofs/root/etc && cp -r /etc/* /media/cryptofs/root/etc
Затем монтируем
- Код: Выделить всё
mount -o bind /media/cryptofs/root/etc /etc