Optimisation de linux

Pour parler de l'OS libre ensemble.
Répondre
jawdrool
    unknown unknown

Optimisation de linux

Message par jawdrool »

:hai: Voici quelques optimisation que j'ai trouvé, à la base prévues pour les netbook, mais qui servent aussi dans le cas d'un ssd, et pour "booster" un peu les petites configs

Tweak 1 : Optimisations au niveau du disque dur et du système de fichiers

La mise à jour de l'heure d'accès à un fichier provoque beaucoup d'accès au disque dur donc augmente la consommation et peut dégrader légèrement les performances. Il est possible de dévalider cette fonctionnalité non essentielle pour un usage au quotidien du netbook.
De même, l'utilisation de tmpfs pour les fichiers temporaires dans /tmp va permettre de limiter les écritures sur le disque et accelerer les applications.
Pour améliorer ceci, voici comment j'ai configuré le fichier /etc/fstab (ajouts en rouge)
#
# /etc/fstab
# Created by anaconda on Thu Aug 2 21:03:20 2012
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=cd329e9b-60af-49d7-9ec6-a3f6757b2387 / ext4 defaults,noatime,errors=remount-ro 1 1
UUID=e86031a1-ae9c-4ef1-b968-513b5cceb744 /boot ext4 defaults,errors=remount-ro 1 2
UUID=8f51605f-b199-4e9a-9737-55927e1a51c4 /home ext4 defaults,noatime,errors=remount-ro 1 2
UUID=1e547216-6174-4c3f-84a4-ab2eba9e08a4 swap swap defaults 0 0
# Montage /tmp en Ram(en gros mettre le cache en ram)
tmpfs /tmp tmpfs defaults,user,noexec,noatime,mode=0777 0 0
Tweak 2 : Privilégier l'utilisation de la RAM et retarder le déclenchement du swap

Par défaut, les distributions linux règlent la valeur de swapiness à 60. Ce qui signifie que la mémoire swap commence à être sollicitée dès qu'il reste moins de 60% de la RAM disponible. Swapper est synonyme d'écritures sur disque donc ralentissements et augmentation de la consommation.

Pour contrôler la valeur de swappiness

Code : Tout sélectionner

more /proc/sys/vm/swappiness
Pour changer temporairement (jusqu'au redémarrage) cette valeur

Code : Tout sélectionner

su -c 'sysctl vm.swappiness=10'
Pour rendre le changement permanent :

Code : Tout sélectionner

su -c 'gedit /etc/sysctl.conf'
ajouter à la fin du fichier

Code : Tout sélectionner

vm.swappiness=10
On sauvegarde et la valeur sera effective au redémarrage suivant.

Tweak 3 : Activer le mode laptop

Quand le mode laptop est validé, le noyau essaye d'être intelligent avec les E/S. Toutes les futures E/S disque dur planifiées (par anticipation) sont soumises en une seule fois quand le noyau a à faire une E/S sur disque dur.
Le mode laptop réduit l'usage du disque dur par regroupement des écritures sur disque...
Pour activer le mode laptop :

Code : Tout sélectionner

su -c 'gedit /etc/sysctl.conf'
ajouter à la fin du fichier

Code : Tout sélectionner

vm.laptop_mode = 5
On sauvegarde et la valeur sera effective au redémarrage suivant.

Tweak 4 : Tuning process d'écriture sur disque pdflush

L'écriture différée du cache du système de fichiers sur le disque dur se fait assez fréquemment. Pour réduire la consommation, il suffit de le faire moins fréquemment.
La valeur par défaut est 500 centièmes de secondes (5s)

Pour réduire la fréquence et ainsi économiser de l'énergie, on passe cette valeur à 30s :

Code : Tout sélectionner

su -c 'gedit /etc/sysctl.conf'
ajouter à la fin du fichier

Code : Tout sélectionner

vm.dirty_writeback_centisecs = 3000
vm.dirty_expire_centisecs = 3000
On sauvegarde et la valeur sera effective au redémarrage suivant.
Ne pas perdre de vue qu'en cas de crash, les données qui ne sont pas écrites sur le disque sont définitivement perdues.

Sources
gorekhaa
    unknown unknown

Re: Optimisation de linux

Message par gorekhaa »

Merci tres beaucoup!

Sur un vieux Thinkpad X32 avec debian etch 4.0r3, une fois le laptop-mode mis en place, le driver ACPI n'utilise pas les bonnes valeurs pour le CPU (sur batteries pour les economies d'energie via baisse frequence CPU).

Valeurs constatees:
0,700 V -> 600 mhz
0,700 V -> 800 mhz
0,748 V -> 1000 mhz
0,812 V -> 1200 mhz
0,876 V -> 1400 mhz
0,940 V -> 1600 mhz

Valeurs INTEL sous windaube d'origine:
0.988 V -> 600 mhz
1.068 V -> 800 mhz
1.132 V -> 1000 mhz
1.212 V -> 1200 mhz
1.276 V -> 1400 mhz
1.340 V -> 1600 mhz

Une idee?
jawdrool
    unknown unknown

Re: Optimisation de linux

Message par jawdrool »

:hai: ,
Sur une échelle de 1 à 10, ma culture débian se situe entre -3 et -2, j'ai cherché un peu mais je suis désolé mais je vais pas pouvoir t'aider :doh:
Est ce que ça entraine des instabilités?
gorekhaa
    unknown unknown

Re: Optimisation de linux

Message par gorekhaa »

jawdrool a écrit ::hai: ,
Sur une échelle de 1 à 10, ma culture débian se situe entre -3 et -2, j'ai cherché un peu mais je suis désolé mais je vais pas pouvoir t'aider :doh:
Est ce que ça entraine des instabilités?
Une legere mais sensible hausse de la temperature (+2 degres de difference entre lm-sensors et speedfan).

Probleme resolu en desactivant la gestion "auto" par la gestion "a la demande" (pourquoi, ca c'est le mystere...):

Ouvrir avec les droits le fichier /etc/laptop-mode/conf.d/cpufreq.conf et changer comme suis:

Code : Tout sélectionner

CONTROL_CPU_FREQUENCY=1
BATT_CPU_GOVERNOR=ondemand
LM_AC_CPU_GOVERNOR=ondemand
NOLM_AC_CPU_GOVERNOR=ondemand
Les valeurs sont alors a peu pres les memes et la hausse de temperature insensible...

0.976 V -> 600 mhz
1.056 V -> 800 mhz
1.120 V -> 1000 mhz
1.200 V -> 1200 mhz
1.264 V -> 1400 mhz
1.328 V -> 1600 mhz
jawdrool
    unknown unknown

Re: Optimisation de linux

Message par jawdrool »

Effectivement un mode éco qui fait consommer plus c'est pas top :lol: . Bon content que ça soit résolu, même si le pourquoi demeure un mystère :^)
Répondre