Я вот тут еще подумал и немного переделал скрипт. Sleep делает меньшую задержку чем хотелось бы, а переменная $STATE нужна для того, чтобы лишний раз не писать в файл одно и тоже. Еще не знаю насколько шустрый egrep, но раз можно эту задачу решить обычным грепом думаю так будет лучше.
Код:

#!/system/bin/sh
# Renice this
renice 19 $$
getVmstat()
{
cat /proc/vmstat | grep "pgpg"
}
# initialise variables
CHECK=50000
STATE="0"
NEW=$(getVmstat)
OLD=$(getVmstat)
while [ 1 ] ; do
usleep $CHECK;
NEW=$(getVmstat);
if [ "$NEW" = "$OLD" ]; then
if [ "$STATE" = "1" ]; then
STATE="0";
echo "0" > /sys/devices/platform/leds-microp/leds/green/brightness;
fi
else
if [ "$STATE" = "0" ]; then
STATE="1";
echo "1" > /sys/devices/platform/leds-microp/leds/green/brightness;
fi
fi
OLD=$NEW
done
А можно выполнять включать и выключать диод только тогда когда состояние изменилось без циклов? Ну чтото вроде sleep_until_state_change();
Что еще можно сделать?