Bonjour,
Je voudrais pouvoir utiliser laptop-mode-tools sur batterie et hdparm sur secteur pour gagner un peu d’autonomie (actuellement j’utilise hdparm -B 254 sur secteur et hdparm -B 128 sur batterie).
J’ai configuré mon fichier /etc/laptop-mode/laptop-mode-tools que voici : [code]###############################################################################
Configuration for Laptop Mode Tools
-----------------------------------
There is a “system” to the configuration setting names:
CONTROL_something=0/1 Determines whether Laptop Mode Tools controls
something
LM_something=value Value of “something” when laptop mode is active
NOLM_something=value Value of “something” when laptop mode is NOT
active
AC_something=value Value of “something” when the computer is running
on AC power
BATT_something=value Value of "something when the computer is running
on battery power
There can be combinations of LM_/NOLM_ and AC_/BATT_ prefixes, but the
available prefixes are different for each setting. The available ones are
documented in the manual page, laptop-mode.conf(8). If there is no LM_/
NOLM_ in a setting name, then the value is used independently of laptop
mode state, and similarly, if there is no AC_/BATT_, then the value is used
independently of power state.
Some options only work on ACPI systems. They are marked ACPI-ONLY.
Note that this configuration file is a fragment of shell script: you
can use all the features of the shell scripting language to achieve your
desired configuration.
Modules
-------
Laptop Mode Tools modules have separate configuration files, that can be
found in /etc/laptop-mode/conf.d. Please look through these configuration
files as well, there are many useful power saving tools in there!
###############################################################################
###############################################################################
Configuration debugging
-----------------------
###############################################################################
Set this to 1 if you want to see a lot of information when you start/stop
laptop_mode.
VERBOSE_OUTPUT=0
###############################################################################
When to enable laptop mode
--------------------------
“Laptop mode” is the mode in which laptop mode tools makes the computer
consume less power. This includes the kernel “laptop_mode” feature, which
allows your hard drives to spin down, as well as various other settings which
can be tweaked by laptop mode tools. You can enable or disable all of these
settings using the CONTROL_… options further down in this config file.
###############################################################################
Enable laptop mode when on battery power.
ENABLE_LAPTOP_MODE_ON_BATTERY=1
Enable laptop mode when on AC power.
ENABLE_LAPTOP_MODE_ON_AC=0
Enable laptop mode when the laptop’s lid is closed, even when we’re on AC
power? (ACPI-ONLY)
ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=0
###############################################################################
When to enable data loss sensitive features
-------------------------------------------
When data loss sensitive features are disabled, laptop mode tools acts as if
laptop mode were disabled, for those features only.
Data loss sensitive features include:
- laptop_mode (i.e., delayed writes)
- hard drive write cache
All of the options that follow can be set to 0 in order to prevent laptop
mode tools from using them to stop data loss sensitive features. Use this
when you have a battery that reports the wrong information, that confuses
laptop mode tools.
Disabling data loss sensitive features is ACPI-ONLY.
###############################################################################
Disable all data loss sensitive features when the battery level (in % of the
battery capacity) reaches this value.
MINIMUM_BATTERY_CHARGE_PERCENT=3
Disable data loss sensitive features when the battery reports its state
as “critical”.
DISABLE_LAPTOP_MODE_ON_CRITICAL_BATTERY_LEVEL=1
###############################################################################
Controlled hard drives and partitions
-------------------------------------
For spinning down your hard drives, laptop mode will remount file systems and
adjust hard drive spindown timeouts. These parameters specify which
devices and partitions are affected by laptop mode.
###############################################################################
The drives that laptop mode controls.
Separate them by a space, e.g. HD="/dev/hda /dev/hdb". The default is a
wildcard, which will get you all your IDE and SCSI/SATA drives.
HD="/dev/[hs]d[abcdefgh]"
The partitions (or mount points) that laptop mode controls.
Separate the values by spaces. Use “auto” to indicate all partitions on drives
listed in HD. You can add things to “auto”, e.g. “auto /dev/hdc3”. You can
also specify mount points, e.g. “/mnt/data”.
PARTITIONS=“auto /dev/mapper/*”
If this is enabled, laptop mode tools will assume that SCSI drives are
really SATA drives that only look like SCSI drives, and will use hdparm
to control them. Set this to 0 if you have /dev/sd devices and you want
laptop mode tools to use the “sdparm” command to control them.
ASSUME_SCSI_IS_SATA=1
###############################################################################
Hard drive behaviour settings
-----------------------------
These settings specify how laptop mode tools will adjust the various
parameters of your hard drives and file systems.
###############################################################################
Maximum time, in seconds, of work that you are prepared to lose when your
system crashes or power runs out. This is the maximum time that Laptop Mode
will keep unsaved data waiting in memory before spinning up your hard drive.
LM_BATT_MAX_LOST_WORK_SECONDS=1200
LM_AC_MAX_LOST_WORK_SECONDS=360
Should laptop mode tools control readahead?
CONTROL_READAHEAD=1
Read-ahead, in kilobytes. You can spin down the disk while playing MP3/OGG
by setting the disk readahead to a reasonable size, e.g. 3072 (3 MB).
Effectively, the disk will read a complete MP3 at once, and will then spin
down while the MP3/OGG is playing. Don’t set this too high, because the
readahead is applied to all files that are read from disk.
LM_READAHEAD=3072
NOLM_READAHEAD=128
Should laptop mode tools add the “noatime” option to the mount options when
laptop mode is enabled?
CONTROL_NOATIME=1
Should laptop use relatime instead of noatime? The “relatime” mount option has
more standards-compliant semantics, and allows more applications to work,
while retaining a low level of atime updates (i.e., disk writes).
USE_RELATIME=1
Should laptop mode tools control the hard drive idle timeout settings?
CONTROL_HD_IDLE_TIMEOUT=1
Idle timeout values. (hdparm -S)
Default is 2 hours on AC (NOLM_HD_IDLE_TIMEOUT_SECONDS=7200) and 20 seconds
for battery and for AC with laptop mode on.
LM_AC_HD_IDLE_TIMEOUT_SECONDS=7200
LM_BATT_HD_IDLE_TIMEOUT_SECONDS=60
NOLM_HD_IDLE_TIMEOUT_SECONDS=7200
Should laptop mode tools control the hard drive power management settings?
CONTROL_HD_POWERMGMT=0
Power management for HD (hdparm -B values)
BATT_HD_POWERMGMT=254
LM_AC_HD_POWERMGMT=254
NOLM_AC_HD_POWERMGMT=254
Should laptop mode tools control the hard drive write cache settings?
CONTROL_HD_WRITECACHE=1
Write cache settings for HD (hdparm -W values)
NOLM_AC_HD_WRITECACHE=1
NOLM_BATT_HD_WRITECACHE=0
LM_HD_WRITECACHE=1
###############################################################################
Settings you probably don’t want to touch
-----------------------------------------
It is usually not necessary to change these parameters. They are included
for completeness’ sake.
###############################################################################
Change mount options on partitions in PARTITIONS? You don’t really want to
disable this. If you do, then your hard drives will probably not spin down
anymore.
CONTROL_MOUNT_OPTIONS=1
Dirty synchronous ratio. At this percentage of dirty pages the process
which calls write() does its own writeback.
LM_DIRTY_RATIO=60
NOLM_DIRTY_RATIO=40
Allowed dirty background ratio, in percent. Once DIRTY_RATIO has been
exceeded, the kernel will wake pdflush which will then reduce the amount
of dirty memory to dirty_background_ratio. Set this nice and low, so once
some writeout has commenced, we do a lot of it.
LM_DIRTY_BACKGROUND_RATIO=1
NOLM_DIRTY_BACKGROUND_RATIO=10
kernel default settings – don’t touch these unless you know what you’re
doing.
DEF_UPDATE=5
DEF_XFS_AGE_BUFFER=15
DEF_XFS_SYNC_INTERVAL=30
DEF_XFS_BUFD_INTERVAL=1
DEF_MAX_AGE=30
This must be adjusted manually to the value of HZ in the running kernel
on 2.4, until the XFS people change their 2.4 external interfaces to work in
centisecs. This can be automated, but it’s a work in progress that still
needs some fixes. On 2.6 kernels, XFS uses USER_HZ instead of HZ for
external interfaces, and that is currently always set to 100. So you don’t
need to change this on 2.6.
XFS_HZ=100
Seconds laptop mode has to to wait after the disk goes idle before doing
a sync.
LM_SECONDS_BEFORE_SYNC=2
[/code]Avec le fichier ci-dessous, laptop-mode n’est jamais activé (sur batterie comme sur secteur) contrairement à ce que l’on pourrait croire avec ENABLE_LAPTOP_MODE_ON_BATTERY=1.
J’ai vérifié que laptop-mode n’est pas activé avec cette commande tapée sous secteur et batterie : # cat /proc/sys/vm/laptop_mode
0
J’ai trouvé pourquoi laptop-mode ne s’active pas. C’est de la faute d’un petit fichier intitulé 90-hdparm.sh : [code]# cat /etc/acpi/start.d/90-hdparm.sh
#! /bin/sh
This script adjusts hard drive APM settings using hdparm. The hardware
defaults (usually hdparm -B 128) cause excessive head load/unload cycles
on many modern hard drives. We therefore set hdparm -B 254 while on AC
power. On battery we set hdparm -B 128, because the head parking is
very useful for shock protection.
. /usr/share/acpi-support/power-funcs
DO_HDPARM=y
if [ -e /usr/sbin/laptop_mode ] ; then
LMT_CONTROL_HD_POWERMGMT=$(. /etc/laptop-mode/laptop-mode.conf && echo “$CONTROL_HD_POWERMGMT”)
if [ “$LMT_CONTROL_HD_POWERMGMT” != 0 ] ; then
# Laptop mode controls hdparm -B settings, we don’t.
DO_HDPARM=n
fi
fi
if [ $DO_HDPARM = y ] ; then
Get the power state into STATE
getState;
for dev in /dev/sd? /dev/hd? ; do
if [ -b $dev ] ; then
# Check for APM support; discard errors since not all drives
# support HDIO_GET_IDENTITY (-i).
if hdparm -i $dev 2> /dev/null | grep -q ‘AdvancedPM=yes’ ; then
if [ $STATE = “BATTERY” ] ; then
hdparm -B 128 $dev
else
hdparm -B 254 $dev
fi
fi
fi
done
fi[/code]qui est placé dans les endroits suivants : # find / -name 90-hdparm.sh
/etc/acpi/ac.d/90-hdparm.sh
/etc/acpi/battery.d/90-hdparm.sh
/etc/acpi/start.d/90-hdparm.sh
/etc/acpi/resume.d/90-hdparm.sh
Ce fichier active laptop-mode seulement si on a activé la variable LMT_CONTROL_HD_POWERMGM dans le fichier de configuration de laptop-mode. Or cette variable est suivie de valeurs hdparm (je vous remet un extrait de /etc/laptop-mode/laptop-mode.conf : [code]#
Should laptop mode tools control the hard drive power management settings?
CONTROL_HD_POWERMGMT=0
Power management for HD (hdparm -B values)
BATT_HD_POWERMGMT=254
LM_AC_HD_POWERMGMT=254
NOLM_AC_HD_POWERMGMT=254
[/code]Je devrais en toute logique remplacé le 0 par 1 et régler le valeur hdparm comme je veux. Mais je ne veux pas utiliser hdparm sur batterie, je veux utiliser les variables (qui sont plus haut que ce passage) de laptop-mode et qui permettent de parquer les têtes du disque au bout d’un certain temps d’inactivité, ce que ne permet pas hdparm.
Bref, pour activé laptop-mode sur batterie, il faut que je modifie un fichier (/etc/laptop-mode/laptop-mode.conf) pour qu’un autre fichier le prenne en compte (90-hdparm.sh) et ce dernier fichier ne prend en compte le premier que si je modifie le premier de manière à rendre laptop-mode inactif…
