Optimisations laptop : Il s'agit ici de regrouper diverses optimisations utiles à un laptop sur linux, désactivation de services inutiles, accélération du navigateur, économies d'énergie etc... Cet article a vocation à évoluer avec le temps.
Table des matières
📌
☠☠ Avertissement ☠☠ ceci est un pense-bête. Il s'agit ici d'éditer des paramètres système, vous êtes fortement invités à consulter les doc...
✴️ Optimisation des Services :
On commence par une optimisation dans le BIOS en désactivant tout ce qui ne sert pas, Bluetooth, webcam, modem, micro etc...
Ensuite, désactiver certains services inutiles (selon utilisation) : Modem
sudo update-rc.d -f dns-clean remove && sudo update-rc.d -f pppd-dns remove
Gestion de LVM
sudo update-rc.d -f lvm remove
Gestion du RAID
sudo update-rc.d -f mdadm remove && sudo update-rc.d -f mdadm-raid remove
Carte PCMCIA
sudo update-rc.d -f pcmciautils remove && sudo update-rc.d -f pcmcia remove
Bluetooth
sudo update-rc.d -f bluetooth remove && sudo update-rc.d -f bluez-utils remove
EVM
sudo update-rc.d -f evms remove
APM (gestion de l'énergie). Si la commande " apm " affiche No APM support in kernel
sudo update-rc.d -f apmd remove
Imprimantes
sudo update-rc.d -f cupsys remove
Imprimantes HP
sudo update-rc.d -f hplip remove
Pour les PC fixes :
Hotkeys
sudo update-rc.d -f hotkey-setup remove
Batterie (sur un PC fixe, pas besoin d'optimisations de la batterie:)
sudo update-rc.d -f laptop-mode remove
Pour réactiver un service; pcmcia par exemple :
sudo update-rc.d pcmcia defaults
✴️ Quelques paquets utiles :
installer Zram : virtual swap compressé en ram
sudo apt-get install zram-config
rebooter et vérifier le bon fonctionnement avec cat /proc/swaps, une ligne "/dev/zram0 [...]" doit apparaître.
Pour Debian Jessie 8.7 (à voir pour les autres...), un .deb Ubuntu fonctionel sur le lauchpad zram-config
Optimisation auto en fonction de la mémoire vive disponible et du nombre de cœurs.
Installer Laptop mode tools:
sudo apt install laptop-mode-tools
Ou utiliser la GUI voir sur webupd8 & FAQ laptopmod
Installer Preload:
Optimisation de la vitesse de lancement de programmes les plus utilisés pré-chargement).
On peut installer le paquet preload à condition d'avoir au minimum 3 Go de ram.
sudo apt-get install preload
Installer powertop :
sudo apt-get install powertop
se lance avec la commande
sudo powertop
naviguer grâce à la touche "tab" jusqu'à l'onglet "tunables" pour voir les optimisations possibles.
La commande "sudo powertop --auto-tune" mettra toutes les options dans l'état "good" jusqu'au prochain démarrage. Si après test, auto tune est satisfaisant, un petit script .sh pour automatiser le lancement au démarrage sera parfait. Sinon voir la doc https://01.org/powertop/
✴️ Optimisation de la batterie :
En plus du laptop mod, un tweak auquel on ne pense pas de prime abord, c'est le repasting, évidement, si le PC chauffe moins, il dépensera moins d’énergie pour son refroidissement...J'ai percuté en visionnant cette vid https://www.youtube.com/watch?v=QBNP5I2y668
Ce qui nous intéresse, avant/après le repasting :
Repasting :
On n'étale pas la pâte thermique avec une CB ou que sais-je encore, comme on peut le lire souvent un peu partout, on pose une noisette au centre du processeur (si il est rectangle un petit trait au centre), point ! Cette vidéo démontre pourquoi c'est la bonne méthode pour appliquer la pâte https://youtu.be/EyXLu1Ms-q4 Pour ceux qui n'auraient pas le temps de regarder la vidéo, cela permet que la pâte se répartisse uniformément sans bulle d'air. Les bulles d'air gêneront l’échange thermique entre la surface du processeur et du ventirad.
✴️ Accélérer la navigation :
- tmpfs en ram (avant systemd)
Pour éviter d’avoir à solliciter le disque dur pour les fichier temporaires, et accessoirement limiter le nombre d’écritures sur celui-ci, très utile pour les SSD, mieux vaut utiliser la ram pour les fichiers temporaires.
sudo nano /etc/fstab
Il faut ajouter à la fin du fichier /etc/fstab
# Montage /tmp en Ram tmpfs /tmp tmpfs defaults,user,noexec,noatime,mode=0777 0 0
Puis forcer Firefox à utiliser la ram :
Taper about:config dans la barre d'adresse.
• Mettre browser.cache.disk.enable à "false" (double click sur la ligne)
• Ajouter l'entrée (click droit->nouvelle->nombre entier) browser.cache.memory.capacity et le mettre à la quantité en KB vous souhaitez, ou -1 pour la sélection auto de la taille du cache. (Sauter cette étape a le même effet que de laisser la valeur à -1)
• Vérifier que browser.cache.memory.enable est bien sur "true"
• Rechercher browser.cache.disk.parent_directory , si cela n’existe pas créez une « nouvelle chaîne de caractère« , puis entrez comme valeur : /tmp/cache-firefox.
On pourra aller vérifier en gui dans /tmp que le dossiers "cache-firefox" est bien présent.
Mise à jour mars 2018:
- tmpfs en ram (pour systemd)
sudo touch /usr/share/systemd/tmp.mount
nano /usr/share/systemd/tmp.mount
On cp/colle les instructions suivantes :
# This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. [Unit] Description=Temporary Directory Documentation=man:hier(7) Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems ConditionPathIsSymbolicLink=!/tmp DefaultDependencies=no Conflicts=umount.target Before=local-fs.target umount.target After=swap.target [Mount] What=tmpfs Where=/tmp Type=tmpfs Options=mode=1777,strictatime [Install] WantedBy=local-fs.target
Puis :
sudo cp /usr/share/systemd/tmp.mount /etc/systemd/system/tmp.mount
sudo systemctl enable tmp.mount
sudo systemctl start tmp.mount
On vérifiera que tout est en place avec la commande:
systemctl status tmp.mount
✴️ Divers Tweaks :
Désactiver la mise à jour de l’heure d’accès à un fichier :
La mise à jour de l’heure d’un fichier sollicite un peu trop le disque dur. Désactiver cette fonctionnalité n’altère pas le système c' est même recommandé par le wiki pour les laptops. Pour être certain que que cela sera pris en compte à chaque démarrage, il faut éditer le fichier /etc/fstab, trouver les lignes qui ressemblent à cela:
UUID=8f51605f-b199-4e9a-9737-55927e1a51c4 /home ext4 defaults 1 2
et ajouter après ”defaults“ ”noatime,errors=remount-r“, ce qui donne:
UUID=8f51605f-b199-4e9a-9737-55927e1a51c4 /home ext4 defaults,noatime,errors=remount-ro 1 2
Optimisation des performances noyau:
- Retarder le plus possible le moment ou le PC va swapper
- activer le mode laptop au démarrage
- retarder l'écriture du cache système
Editer /etc/sysctl.conf et ajouter :
vm.swappiness = 5 vm.laptop_mode = 5 vm.dirty_writeback_centisecs = 3000 vm.dirty_expire_centisecs = 3000
Tant qu'on y est on en profite pour traiter la sécu et ajouter ces quelques lignes:
# On se protège de l'IP Spoofng (vol d'IP) : net.ipv4.conf.all.rp_filter = 1 # On se protège des attaques 'SYN Flood' (DOS) : net.ipv4.tcp_syncookies = 1 # Ignorer les messages 'ICMP Redirects' : net.ipv4.conf.all.accept_redirects = 0 net.ipv6.conf.all.accept_redirects = 0 # Interdire 'Source Routing' : net.ipv4.conf.all.accept_source_route = 0 net.ipv6.conf.all.accept_source_route = 0 # Surveiller 'martians' (adresse source falsifiée ou non routable) : net.ipv4.conf.all.log_martians = 1 # Ignorer les messages 'ICMP Echo Request' (ping) : net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.icmp_echo_ignore_all = 1 # Ignorer les messages 'ICMP Bogus Responses' : net.ipv4.icmp_ignore_bogus_error_responses = 1 # 1024 connexions non confirmées max, limite le SYN flood net.ipv4.tcp_max_syn_backlog = 1024
Un article interessant sur les caches disques
Sources :
https://www.cyberciti.biz/faq/linux-kernel-etcsysctl-conf-security-hardening/
https://doc.ubuntu-fr.org/script_sysv
https://doc.ubuntu-fr.org/
http://linuxadvantage.blogspot.fr/2013/12/un-kde-fonctionnel-sur-un-laptop-avec.html
Et le meilleur pour la fin 😉 http://remitaines.com/mangez-du-tux/optimiser-fedora-gnome-shell-pour-gagner-en-autonomie-suite/