dimanche 8 décembre 2013

Un KDE fonctionnel sur un laptop avec 1Go de Ram

205 Mo de RAM au démarrage

A l'occasion de la sortie de la version ROSA Desktop Fresh R2 avec KDE 4.11.3, j'ai eu envie de voir ce qu'elle donnerait sur un vieux PC portable avec seulement 1Go de RAM.

Le PC en question est un Lenovo Thinkpad R61 avec les caractéristiques suivantes : Intel Core 2 Duo T7250 / 1 Go Ram DDR2 Synchrone 667 MHz / HDD 80 Go / Graphic Intel GM965/GL960 / Intel 82566MC Gigabit Network Connection / Intel PRO-Wireless 3945ABG.

Pour l'installation, j'ai récupéré l'ISO ici (32 bits bien sur) puis je l'ai chargée sur une clé USB avec le logiciel ROSA ImageWriter mais un simple "dd" fait aussi l'affaire tout comme l'usage d'un classique DVD.

Voici les méthodes d'optimisation que j'ai appliqué une fois l'installation terminée (noter que le Wifi était fonctionnel immédiatement) :

1) Faire les mises à jour (en graphique ou en console sous root)

[root@Thinkpad-R61 ~]# urpmi --auto-update

2) Installer un Noyau optimisé pour l'utilisation d'un PC portable

Installer, depuis le gestionnaire de logiciels, le dernier "kernel-nrj-laptop" qui est particulièrement optimisé pour les ordinateurs portables.

3) Désactiver les services inutiles

"systemd-analyze blame" est une commande intéressante qui permet de lister et mettre en évidence les services qui prennent le plus de temps au démarrage.
Cet outil étant non présent de base, l'installer par la commande :

[root@Thinkpad-R61 ~]# urpmi systemd-tools

Il suffit ensuite de lancer la commande (en root) pour obtenir la liste des services et leur temps de démarrage.

Voici la liste des services (inutiles pour ce portable) que j'ai désactivé à l'aide des commandes suivantes.

[root@Thinkpad-R61 ~]# systemctl disable apmd.service
[root@Thinkpad-R61 ~]# systemctl disable bluetooth.service
[root@Thinkpad-R61 ~]# systemctl disable preload.service
[root@Thinkpad-R61 ~]# systemctl disable vboxadd-timesync.service
[root@Thinkpad-R61 ~]# systemctl disable ModemManager.service
[root@Thinkpad-R61 ~]# systemctl disable NetworkManager-wait-online.service
[root@Thinkpad-R61 ~]# systemctl mask fedora-wait-storage.service
[root@Thinkpad-R61 ~]# systemctl mask fedora-storage-init-late.service
[root@Thinkpad-R61 ~]# systemctl mask fedora-storage-init.service

4) 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 accélérer les applications (attention il convient de ne pas tout mettre en RAM vu que le système ne dispose que de 1 Go).

Voici comment j'ai configuré le fichier /etc/fstab (ajouts en rouge) pour mettre en oeuvre ces optimisations.

[root@Thinkpad-R61 ~]# cat /etc/fstab
# Entry for /dev/sda1 :
UUID=a662cd98-1027-4ead-bc0b-55f640ba5878 / ext4 defaults,noatime,errors=remount-ro 1 1
# Entry for /dev/sda6 :
UUID=b317f9c2-e4a8-4764-8f88-cdcee5e1cbca /home ext4 defaults,noatime,errors=remount-ro 1 2
none /proc proc defaults 0 0
# Entry for /dev/sda5 :
UUID=3f769292-9d94-4b7a-88f0-f0895c9f8a66 swap swap defaults 0 0
# Montage /tmp en Ram
tmpfs  /tmp  tmpfs  nodev,nosuid  0  0

# Montage cache Firefox en Ram
tmpfs  /home/sylvain/.cache/mozilla  tmpfs  nodev,nosuid  0  0
[root@Thinkpad-R61 ~]#


5) Optimisation des performances du kernel

Sans ces réglages, il arrivait régulièrement que le PC ne réponde plus avec Firefox ouvert sur plusieurs onglets gourmands (même comportement avec la distribution précédente sur ce PC : eOS Luna).
On voit le voyant du disque gratter et tout est ralenti même la souris. et ça peut durer pendant de longues minutes.
Avec ces réglages, ça ne se produit plus du tout même s'il peut arriver que "ça rame" un peu. A ce sujet, je ne connais toujours pas de distribution qui ferait automatiquement de tels réglages en fonction des capacités du matériel, ce serait une belle avancée.
Ces réglages se font dans le fichier "/etc/sysctl.conf".
Voici ce que j'ai rajouté à la fin de ce fichier :
vm.swappiness = 5
vm.laptop_mode = 5
vm.dirty_writeback_centisecs = 3000
vm.dirty_expire_centisecs = 3000
vm.min_free_kbytes = 16384

vm.vfs_cache_pressure=50

On sauvegarde et les valeurs seront effectives au redémarrage suivant. 

6) Optimisations Firefox

Mise du cache Firefox en RAM :

Ayant activé plus haut tmpfs pour /tmp, nous allons utiliser cet espace pour les données temporaire de Firefox.

Dans la barre d'adresse Firefox, tapez about:config et confirmez que vous ferez attention...
- Rechercher la clé "browser.cache.disk.parent_directory"
- Si elle n'existe pas, créez la par un clic droit et "nouvelle chaîne de caractère"
- La nommer "browser.cache.disk.parent_directory" puis entrer comme valeur :
    /tmp/cache-firefox
- Relancer Firefox

Malgré ceci et aussi bien avec l'ancien disque qu'avec le SSD, il arrivait régulièrement des freezes du système avec de longs accès disques au point de ne plus avoir la main. Ceci a été résolu définitivement en ayant ajouté la ligne ".cache/mozilla" en tmpfs dans le fstab (voir point 4) et aussi en ayant passé la gestion automatique du cache à 0 dans Préférences -> Avancé -> Réseau -> Modifier la gestion automatique du cache.

Désactivation IPV6 :
Dans la barre d'adresse Firefox, tapez about:config et confirmez que vous ferez attention...
- Dans la barre de filtre , tapez ipv6.
- Trouvez le paramètre network.dns.disableIPv6 et double-cliquez dessus pour faire passer sa valeur à true.


Extensions recommandées pour une navigation plus confortable :
Adblock Plus (pour éliminer la pub envahissante)

Omnibar (perso j'aime bien n'avoir qu'une seule barre de recherche)
Themed Button for Linux (look plus sympa du bouton Firefox)

7) Réglages dans Configuration Système

Ouvrir l'outil de configuration système de KDE puis

- Aller dans "Démarrage et Arrêt" et décocher "Bluetooth" et "Transfert de fichiers Bluetooth"

- Aller dans "Effets de bureau" puis dans "Options avancées" et valider "OpenGL 3.1" dans le Mode d'affichage composite (libre à vous de choisir les effets qui vous intéressent, à savoir que certains sont plus gourmands que d'autres).

- Aller dans "Rechercher sur le bureau" et contrôler que "Activer le bureau sémanitique Nepomuk" ne soit pas coché (la recherche de fichiers et de contenus texte reste fonctionnelle dans Dolphin)


8) Désactivation Akonadi

Désactiver le serveur Akonadi à l'aide de cette page

Redémarrer le PC pour profiter pleinement de ces optimisations.
N'hésitez pas non plus à me soumettre vos idées ou vos commentaires.

KDE en mode Ultra Portable

1 commentaire:

  1. Bonjour,

    Après http://linuxadvantage.blogspot.fr/2012/08/installation-fedora-17-sur-un-dell.html ...

    Rosa installé sur Atom N270 1.6GHz avec 1Gb Ram (Dell Mini 10v) + vos optimisations.
    Le Wifi fonctionne du premier coup.

    Merci pour ces informations et bonne continuation en 2014 !

    RépondreSupprimer