Оптимизация энергопотребления, работы с жёсткими дисками, разделом подкачки и т.д. на примере ноутбука Asus EEEPC 1000h и дистрибутива OpenSuse 11.1
Данное руководство подойдёт и для других дистрибутивов linux, но с некоторыми поправками.
1. установите пакет laptop-mode-tools
http://software.opensuse.org/search?basepr...ptop-mode-tools, запустите его
сделате автоматический запуск
этот пакет оптимизирует работу с дисками(парковку головок), разделом подкачки и т.д. в зависимости от того подключён ноут к питанию или нет. Более подробная информация здесь
http://samwel.tk/laptop_mode/
2. Установите программу powertop
http://software.opensuse.org/search?basepr...&q=powertop, с помощью которой можно смотреть какие приложения мешают спать процессору, и она даёт кое-какие советы. Теперь надо запустить её, пакет laptop-mode-tools должен быть запущен и питание ноута отключено,
и она покажет доступные режимы работы процессора и сколько времени он проводит в них, соответственно чем больше процессор проводит времени в режиме с наименьшей частотой - тем лучше, так же будет отображен топ список модулей, которые посылают прерывания.
3. изучив список powertop можно сделать вывод, что большое колличество прерываний идёт от usb устройств(например bluetooth, камера), также питание потребляют usb порты, поэтому всё это дело желательно отключить:
a)
отключить bluetooth, для этого можно написать скриптик, в моём случае он будет выглядеть так
Код: Выделить всё
#!/bin/sh
unload_modules() {
rmmod hci-usb
rmmod uhci_hcd
}
load_modules() {
modprobe uhci_hcd
modprobe hci-usb
}
blue_on() {
/etc/init.d/bluetooth start
load_modules
}
blue_off() {
hciconfig hci0 down
unload_modules
/etc/init.d/bluetooth stop
}
case $1 in
on)
echo 1 > /tmp/bluestat
blue_on
;;
off)
echo 0 > /tmp/bluestat
blue_off
;;
toggle)
STAT=`cat /tmp/bluestat`
if [ "$STAT" = "1" ];
then blue_off;
else blue_on;
fi
;;
esac
назвать его например bluetooth-on-off и поместить его в в /usr/sbin, теперь можно включать и выключать bluetooth таким образом sudo /usr/sbin/bluetooth-on-off on и sudo /usr/sbin/bluetooth-on-off off, что бы при запуске он был выключен нужно в файл /etc/init.d/boot.local вставить строку bluetooth-on-off off
б)
отключить usb 2.0 можно так
включить можно так
отключить, если есть usb 1.1
включить можно так
что бы при запуске usb были отключены, нужно в файл /etc/init.d/boot.local вставить строки
в)
ещё можно отключить сетевую карту и wifi
и
что бы они были отключены при запуске , нужно в файл /etc/init.d/boot.local вставить строки
4. так же избыточные прерывания при явном бездействии приложения могут являться его багом, список известных багов и их решений можно посмотреть здесь
http://www.lesswatts.org/projects/powertop/known.php
Также неплохо изучить материал на сайте
http://www.lesswatts.org