LINUX.ORG.RU

[webOS] автоочистка свопа bash скриптом при засыпании девайса

 


0

1

собственно, дело вот в чем: имеется смартфон палм пре с вебос (линукс с проприетарной обвязкой от hp/palm) и на вебос 2.1 оперативной памяти явно недостаточно - без свопа тяжелых приложений не загрузишь, со свопом он довольно быстро засоряется и начинаются тормоза. вкл - выкл помогает, но хотелось бы это дело автоматизировать. вот какой вариант используется сейчас:

#!/bin/sh
limit=51200

tail -f /var/log/messages \
  | awk '/Turning screen off/ { print; fflush() }' \
  | while read -r line; do
	swap_used_space="$(swapon -s | grep store-swap | awk '{ print $4 }')"
	if [ "$swap_used_space" -gt "$limit" ]
	then
		#echo "$swap_used_space is bigger than $limit"
		swapoff -a && swapon -p 1 /dev/mapper/store-swap
	fi
  done
принцип прост - отлавливается сообщение powerd о отключении дисплея, проверяется размер заполненности своп-файла (лимит во второй строке) и, при превышении лимита, он переподключается. однако, работает это все хреново. во-первых, высокая нагрузка на процессор во время сна (как я понял, из-за мониторинга лога он просыпается и засыпает через небольшие промежутки времени). во-вторых, чистится своп не всегда. тут вообще хрен знает, в чем дело - при переподключении вручную из терминала все нормально, а из скрипта размер может лишь незначительно уменьшиться. подскажите, как реализовать это нормально =)



Последнее исправление: tcler (всего исправлений: 1)

Ответ на: комментарий от true_admin

правил, не помогает. по дефолту 60, уменьшал вплоть до нуля, все равно за день не очень активного использования своп раздувается до 50-70 метров (при ста (своп на 120) начинаются тотальные тормоза).

tcler
() автор топика
Ответ на: комментарий от tcler

Было у меня такое. Вроде памяти всем должно хватать а он всё равно в своп лезет. Дело было не в фрагментации и vm.swappiness отчасти помог.

Я бы предложил покрутить разные сиськтльки(особенно vm.*), но это уже смотри сам сколько есть на это время. И я с ходу не нашёл что крутить :(.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.