Voici toutes les optimisations pour accélérer Ubuntu.
Pour accélérer votre installation actuelle :
À n'utiliser que si vous avez un minimum de 3 Go de RAM. Permet d'accélérer le premier démarrage des logiciels les plus souvent utilisés. Preload ne permet pas au système de démarrer plus rapidement. Pour accélérer le boot, ureadahead est utilisé. Preload réduit la latence du premier démarrage d'une application mais il charge en permanence le système, ce qui rend l'exécution d'un programme déjà chargé en mémoire moins rapide. Par ailleurs, Preload augmente la consommation d'énergie : à éviter sur un ordinateur portable.
Voir également :
Si vous avez 1 Gio de mémoire vive ou plus, vous pouvez essayer de diminuer la propension de Linux à utiliser le fichier d'échange. Le système travaillera un peu plus en mémoire. Selon les utilisations, il peut devenir plus réactif, ou pas.
Désactiver les composants non utilisés sur votre PC permettra au kernel de démarrer sans prendre en compte ces éléments et par là même de lui faire gagner du temps, et améliorer l'autonomie sur les portables. Si les BIOS des PC portables sont souvent pauvres en options, on trouve généralement le nécessaire pour activer ou pas certains éléments. Si certains ne sont jamais utilisés, on pourra les désactiver sans soucis. Cela peut être le cas pour :
D´autres paramètres sont à regarder de près :
Les autres modes de faible consommation sont par contre intéressants.
On veillera aussi à activer le SpeedStep chez Intel et le PowerNow sur AMD, sans quoi la consommation du processeur sera maximale en permanence ! En effet, ces deux fonctions désignent la possibilité de moduler la fréquence du processeur en fonction de la charge qu'il subit.
Lors de l'ouverture d'une session Ubuntu, certaines applications parfois inutiles se lancent. Vous pouvez choisir vous-même celles dont vous avez vraiment besoin. C'est à vous de décider quelles applications vous sont utiles. Pour l'environnement de l'utilisateur, on peut par exemple se passer de l'aide visuelle, du bureau à distance, du gestionnaire de Bluetooth,…
En plus de l'environnement de l'utilisateur, des services système sont communs à tous les utilisateurs et ils sont lancés généralement au démarrage de l'ordinateur. Ils ont des fichiers de configuration dans /etc/init/
, /etc/init.d/
, /etc/systemd/
, /lib/systemd/
et dans /etc/cron.*
.
Vous pouvez désactiver un service, ou mieux, désinstaller le paquet correspondant. En effet, la lecture de fichier de configuration ralentit légèrement le démarrage du système même si le service ne démarre pas.
Pour connaître la liste des paquets qui correspondent potentiellement aux services système installés, vous pouvez exécuter la commande suivante dans une console :
find /etc/init /etc/init.d /etc/systemd /lib/systemd /etc/cron.* -type f -exec dpkg-query -S "{}" + 2> /dev/null | cut -d":" -f1 | sort -u
La liste ci-dessous donne le nom des paquets. Pour désinstaller, voir comment supprimer un paquet.
Bluetooth
Si vous n'utiliserez pas le Bluetooth, vous pouvez désinstaller :
Modem
Si vous n'utilisez pas de modem, vous pouvez désinstaller :
Si vous n'utilisez pas de connexion ppp (protocole nécessaire aux modems ADSL mais inutile si une "box" ADSL vous donne accès à l'Internet par Ethernet ou Wifi), vous pouvez désinstaller :
Scanner
Si vous n'utilisez pas de scanner, vous pouvez désinstaller :
Imprimante
Si vous n'utilisez pas d'imprimante, vous pouvez désinstaller :
Scanner et imprimante
Si vous n'utilisez ni scanner, ni imprimante, vous pouvez désinstaller :
attention, il semble que cette désinstallation supprime l'accès à gnome-control-center (dans la version UbuntuGnome), donc les paramètres généraux (problème vétuste voir si c'est encore le cas).
Terminal en braille
Si aucun utilisateur n'utilisera de terminal en braille, vous pouvez désinstaller :
Synthèse vocale
Si aucun utilisateur n'utilisera de synthèse vocale, vous pouvez désinstaller :
cron
Si votre ordinateur est arrêté ou redémarré au moins une fois par jour d'utilisation, vous pouvez désinstaller :
Processeur avec un seul cœur
Si votre ordinateur n'a qu'un seul cœur (c'est extrêmement rare), vous pouvez désinstaller :
snap
Si vous souhaitez utiliser seulement des paquetages bien intégrés entre eux sans versions parallèles vous pouvez désinstaller :
mlocate
Si vous pensez qu'aucun utilisateur ne recherchera des fichiers indexés avec mlocate, vous pouvez désinstaller :
Liste des services
Consultez Ajouter une application au démarrage ainsi que la page sur les services pour plus d'informations à ce sujet.
Certains logiciels ralentissent peut-être votre Ubuntu : il faudrait penser à les désactiver ou les désinstaller.
Selon votre version ou variante d'Ubuntu, certaines langues sont installées. À chaque mise à jour, les paquets des langues installées sont donc téléchargés. Vous pouvez en vous rendant dans le gestionnaire de langues, désinstaller les langues que vous n'utilisez pas. Ceci n'affectera que les interfaces du système et des logiciels, les dictionnaires de Libre Office, par exemple, ne seront pas impactés.
Vous pouvez utiliser des applications légères (vous pouvez détecter les applications gourmandes via le moniteur système)
Pour optimiser la rapidité du système changer votre gestionnaire de fenêtres pour un autre comme par exemple OpenBox qui constitue une très bonne alternative. Les gestionnaires les plus utilisés sont listés et décrits sur la page des gestionnaire de fenêtres.
De même que pour le gestionnaire de fenêtres, vous pouvez choisir un gestionnaire de fichiers léger comme par exemple PCManFM ou xfe, ce qui rendra la navigation dans vos dossiers beaucoup plus rapide.
Le changement suivant dans /etc/rsyslog.conf permet d'économiser du CPU, de l'énergie et de l'espace disque.
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $template energySaving,"%$MONTH%-%$DAY% %$HOUR%:%$MINUTE% %APP-NAME%: %msg%\n" $ActionFileDefaultTemplate energySaving
Le changement précédent produit un affichage plus compact dans les fichiers journaux :
10-02 12:21 kernel: imklog 4.2.0, log source = /proc/kmsg started.
Si vous remplacez la balise "%msg%" par "%rawmsg%", vous serez pollués par des timestamps avec une distribution récente.
Désactiver la compression lors de la rotation des fichiers journaux réalisée par logrotate permet de réduire l'utilisation du processeur, de la mémoire et du disque dur (moins de lecture/écriture). Cela conduit à économiser de l'énergie et à augmenter légèrement la durée de vie du disque dur.
Plusieurs possibilités s'offrent a vous afin de mettre votre cache de navigateur Firefox ou Chromium-browser en mémoire vive (à condition d'avoir suffisamment de mémoire vive), cette manipulation peut servir pour d'autres choses.
Simple, nous allons mettre /tmp en mémoire vive, mais comporte un petit problème de sécurité, bien que le tmp soit effacé à chaque redémarrage 2) si vous avez plusieurs utilisateurs, ils pourront voir votre cache de navigation :
#Cache navigateur en RAM tmpfs /tmp tmpfs mode=1777 0 0
Alternative : ouvrez about:config
Le problème principal est que les onglets ne seront pas enregistrés après un crash.
Si vous avez installé Chromium, on changé le chemin de cache de Chromium-browser lançant dans un terminal la commande suivante :
chromium-browser --disk-cache-dir="/tmp/chromium"
Ici, le chemin « /tmp/chromium » (ou autre chose à la place de « chromium ») est conseillé pour une utilisation à côté de Firefox. Firefox et Chromium ont le même nom de répertoire de cache (« Cache »). Si l'on se contente du chemin « /tmp » pour les deux navigateurs, ceux-ci vont partager le même répertoire de cache. Si Firefox est configuré pour supprimer son cache en fin de session, cela supprimera aussi les fichiers temporaires de Chromium qui ne va alors plus fonctionner correctement. Il vaut mieux, donc, faire en sorte qu'ils opèrent bien dans des répertoires séparés. On aurait pu se contenter du chemin « /tmp » pour une utilisation seule de Chromium.
Voir des alternatives :
L'IPv6 est une nouvelle version d'IP permettant de coder les adresses IP, elle utilise des adresses plus longues (adressage sur 128bits au lieu de 32 en IPv4) qui permettent plus de possibilités. Le standard actuel IPv4 commence à saturer. Les adresses sont de la forme 2001:db8::dead:beef/64. Mais, malgré le déploiement effectif d'IPv6, le fait est qu'il existe des cas, où la connectivité IPv6 peut présenter un effet de ralentissement. Cela se produit quand le système pense que la couche IPv6 est fonctionnelle alors qu'elle ne l'est pas. Il est possible de désactiver toute la stack IPv6, mais il faut voir ceci comme une solution de dernier recours.
Le "ralentissement" provient du fait que les logiciels, pensant que IPv6 est fonctionnel, vont commencer par faire des requêtes IPv6, puis IPv4 une fois que les premières auront échoués. Les requêtes les plus visibles utilisant ce mécanisme sont les requêtes DNS, qui mettent quelques secondes à expirer avant de repasser en v4. Il est fortement conseillé de tenter d'identifier le problème de connectivité IPv6 en amont (problème d'opérateur, de routeur local qui utilise à tort du router-advertisement …) avant de désactiver purement et simplement toute la stack. IPv6 et IPv4 sont réellement différents; le plus tôt vous essaierez de comprendre son fonctionnement et plus rapidement vous saurez être à l'aise avec.
Pour savoir si IPv6 est activé sur votre PC ou non, saisissez dans un terminal la commande suivante :
ip a | grep inet6
Si IPv6 est activé, réponse sous cette forme :
inet6 ::1/128 scope host inet6 fe80::a00:27ff:fe21:8552/64 scope link
Si IPv6 est non activé, la commande ne retournera aucune ligne
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0 = enabled, 1 = disabled
Pour désactiver, ponctuellement mais ce sera perdu au prochain reboot:
echo 1 | sudo tee /proc/sys/net/ipv6/conf/all/disable_ipv6
Pour désactiver de manière permanente,
ajouter les lignes suivantes à /etc/sysctl.conf
:
#disable ipv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
sudo sed -i "s/^\(Port .*\)/\1$(echo '\n')AddressFamily inet/" /etc/ssh/sshd_config sudo /etc/init.d/ssh restart
Vous trouverez ce qui est avéré pour les nouvelles versions, puis en fin des informations modifiant la sécurité de Firefox, ou anciennes mais pouvant être encore valides.
À noter que ces conseils s'appliquent souvent à Chromium et navigateurs dérivés.
Addons sous licence libre.
Sans dégradation ou pertes de fonctionnalités (ou peu).
1/ Accélérer Firefox en lui-même.
2/ Accélérer/alléger la navigation.
Vidéo.
Certaines extensions (de choix de version) sont présentes en particulier pour Youtube, celui-ci proposant plusieurs versions de ses vidéos.
Avec dégradation assez importante ou perte de fonctionnalité
Utile pour les connexions limitées par exemple.
Modifie la sécurité de Firefox, ou valable seulement pour ses premières versions mais dans certains cas peut être encore valide.
Si vous utilisez le lecteur multimédia VLC, et que la lecture de vidéo rame sur votre PC.
La configuration par défaut de LibreOffice est adéquate pour une utilisation normale.
Pour une utilisation plus poussée, pour par exemple les professionnels, voici des suggestions de configuration :
Augmenter la vitesse d'initialisation de LibO donne un lancement 10 fois plus rapide de LibreOffice (forum). Pour cela, une solution consiste à ajouter une nouvelle ligne dans le fichier /etc/hosts
comme suit (remplacer HOSTNAME
par votre nom de machine) :
127.0.0.1 HOSTNAME localhost HOSTNAME.(none)
Dans le menu Édition → Préférences → Aperçu, pour accélérer l'affichage du contenu des dossiers, on peut modifier les paramètres suivants :
Nautilus sera plus réactif pour accéder aux dossiers. Les options qui ralentissent le plus l'accès au dossier sont "Fichier Texte" et Vignettes (pour les images).
Si vous n'utilisez aucun de ces trois paramètres alors vous pouvez nettoyer le cache des vignettes en les supprimant manuellement dans le dossier caché .thumbnail
de votre /home
.
Il vous faudra choisir entre l'une des trois possibilités suivantes, elles sont plus ou moins contraignantes.
Cette optimisation est conseillée pour ceux pour qui les performances priment sur le visuel. Pour la comparaison ce serait comme choisir l'interface windows 2000 dans windows xp.
Choisissez bien votre moteur gtk et votre thème :
Temps de chargement avec GtkPerf
Source du benchmark : Gtk Engines Benchmarks – What's the fastest?
Exemple : installation de xfwm (de l'environnement Xfce)
Installer gtk2-engines-xfce
Dans Système → Préférences → Apparence → Onglet = Thème cliquer sur le bouton Personnaliser… :
Note 1 : Vous pouvez choisir d'autres bordures , icônes, et pointeurs sans que cela gène cette manipulation.
Note 2 : Vous pouvez installer tout autre thème xfce (voir le site xfce look) , et les sélectionner par la suite pour avoir des performances similaires.
Ici les logiciels sous lubuntu ou xubuntu seront différents de ceux d'ubuntu et kubuntu, dans cette solution et la suivante, vous pouvez préférer la première solution qui gardera les avantages d'ubuntu.
Quelle variante de Ubuntu, voulez-vous télécharger ? - Indiquer Xubuntu.
Pour des variantes encore plus légères, voir la page mini_ram.
Le résultat des tests décrit sur le site de Phoronix entre Mate, Cinnamon, KDE, Gnome, XFCE, LXDE, OpenBox, Unity semble démontrer que ce ne sont pas les environnements les plus légers qui sont automatiquement les plus rapides. En effet Unity semble le grand gagnant de ce test. Maintenant il est possible que sur du matériel plus ancien les résultats puissent être différents.
Démarrer GRUB en mode "profile" va générer un cache de lecture "readahead" qui peut améliorer de quelques secondes le temps de démarrage jusqu'à la fenêtre de login.
Le prochain boot sera peut-être amélioré, le cache spécial de démarrage a été placé dans /etc/readahead
Cette manipulation doit être effectuée à nouveau après une mise à jour du noyau ou l'ajout de nouveaux services.
Pour activer ce mode, procéder comme suit :
Cette optimisation est utile sur les vieilles carte graphique bas de gamme. En baissant le nombre de couleur à l'écran, la carte graphique sera moins demandée.
Modifier le fichier (avec droits administrateur) /etc/X11/xorg.conf, et à la section Section "Screen", changez Defaultdepth 24
en :
Defaultdepth 16
Optimiser le Langage de Balisage Descriptif dans Gnome et pour diverses applications qui l'utilisent permet d'optimiser ces mêmes applications. Applications prises en charge par les scripts :
Exemple : temps de démarrage de Rhythmbox (7983 chansons) : 64s avant, 55s après lancement du script et redémarrage système.
#!/bin/sh # Changes: # - 2009 echo "* Les menus dans gnome s'ouvrent sans delai , si trop rapide mettre entre 100 - 250 a la place de 0" echo "gtk-menu-popup-delay = 0"| tee -a .gtkrc-2.0 echo "* Metacity utilise moins de ressource - mais il y a moins d'effet visuel" gconftool-2 --set /apps/metacity/general/reduced_resources --type bool 1 echo "* Desactiver les animations de metacity" gconftool-2 --set /apps/panel/global/enable_animations --type bool 0 echo "* Desactiver les animations de metacity" gconftool-2 --set /desktop/gnome/interface/enable_animations --type bool 0 echo "* Toute les applications peuvent aller en plein ecran avec le raccourci <Alt>-F11" gconftool-2 --set /apps/metacity/window_keybindings/toggle_fullscreen --type string "<Alt>F11" echo "* Retirer les évenements sonore" gconftool-2 --set /desktop/gnome/sound/event_sounds --type bool 0 #if [ "x$1" != "x--compiz" ] #then #echo "* Retirer les effets de bureau" #gconftool-2 --type string --set /apps/gnome-session/rh/window_manager "metacity" #metacity --replace & #fi echo "* Fenetre au haut de l'ecran" gconftool-2 --set /apps/compiz/plugins/move/allscreens/options/constrain_y --type bool 0 gconftool-2 --set /apps/compiz/plugins/wobbly/allscreens/options/snap_inverted --type bool 0
Code pour laptop :
echo "* Mettre en hibernation quand ecran de portable fermé" gconftool-2 --set /apps/gnome-power-manager/actions/sleep_type_battery --type string "suspend" gconftool-2 --set /apps/gnome-power-manager/actions/sleep_type_ac --type string "suspend" gconftool-2 --set /apps/gnome-power-manager/buttons/lid_battery --type string "suspend" gconftool-2 --set /apps/gnome-power-manager/buttons/lid_ac --type string "blank" gconftool-2 --set /apps/gnome-power-manager/timeout/sleep_computer_ac --type int 0 gconftool-2 --set /apps/gnome-power-manager/timeout/sleep_computer_battery --type int 300 gconftool-2 --set /apps/gnome-power-manager/timeout/sleep_display_ac --type int 300 gconftool-2 --set /apps/gnome-power-manager/timeout/sleep_display_battery --type int 60 #gconftool-2 --set /apps/gnome-power-manager/backlight/brightness_ac --type int 85 #gconftool-2 --set /apps/gnome-power-manager/backlight/idle_dim_ac --type bool 1 #gconftool-2 --set /apps/gnome-power-manager/backlight/idle_dim_battery --type bool 1 gconftool-2 --set /apps/gnome-power-manager/lock/suspend --type bool 0 gconftool-2 --set /apps/gnome-power-manager/lock/hibernate --type bool 0 echo "* Ne pas afficher les alertes pour les batteries" gconftool-2 --set /apps/gnome-power-manager/notify/low_capacity --type bool 0
Il est possible de gagner encore du temps au boot et d'économiser des ressources en supprimant le démarrage des terminaux virtuels 3 à 6 (on garde tty1, tty2 tty7 pour l'écran graphique).
Ouvrir les fichiers (avec droits administrateur) /etc/init/ttyX.conf (remplacer X par le numéro du terminal à désactiver. Exemple tty3, 4, 5 et 6).
Commenter les lignes start on runlevel [23] et stop on runlevel [!23] en ajoutant un dièse (#) devant la ligne; comme ceci :
# tty3 - getty # # This service maintains a getty on tty3 from the point the system is # started until it is shut down again. #start on runlevel [23] #stop on runlevel [!23] respawn exec /sbin/getty -8 38400 tty3
Dans le cas d'un PC fixe raccordé en filaire sur un routeur ou une box et ne nécessitant pas forcement de DHCP, l'utilitaire réseau par défaut (Network-Manager pour Gnome, Knetworkmanager pour KDE, ..) est un outil superflu dont la suppression permettra un gain de temps non négligeable lors du démarrage puis lors de l'ouverture de session. (plus de lancement du deamon Network-Manager, plus de requête DHCP, plus d'applet Network-Manager à l'ouverture de session).
Les paramètres IP de votre connexion doivent être connus (interface, adresse @IP, netmask, @broadcast, @gateway, @dns).
sudo apt-get remove network-manager network-manager-gnome
L'exemple suivant est relatif à une connexion derrière une Freebox. Ouvrez le fichier /etc/network/interfaces. Ne pas modifier les lignes suivantes :
# interface loop auto lo iface lo inet loopback
Ajouter les lignes suivantes (cas utilisation interface eth0)
# interface eth0 auto eth0 iface eth0 inet static address 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255 network 192.168.0.0 gateway 192.168.0.1 dns-nameservers 212.27.40.240 212.27.40.241
Pour obtenir ces informations, faites
/sbin/ifconfig
qui renvoie quelque chose comme ça :
eth0 Link encap:Ethernet HWaddr 00:24:1d:83:c5:2e inet adr:192.168.0.10 Bcast:192.168.0.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Packets reçus:2168181 erreurs:0 :0 overruns:0 frame:0 TX packets:1665011 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 Octets reçus:2232051372 (2.2 GB) Octets transmis:421113581 (421.1 MB) Interruption:27 Adresse de base:0x4000 lo Link encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 Packets reçus:96357 erreurs:0 :0 overruns:0 frame:0 TX packets:96357 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 Octets reçus:15503628 (15.5 MB) Octets transmis:15503628 (15.5 MB)
il faut faire correspondre inet adr
à address
, Masque
à netmask
, Bcast
à broadcast
. Concernant dns-nameservers
, vous trouverez les adresses sur cette pages : http://www.commentcamarche.net/faq/sujet-1496-serveurs-dns-des-principaux-fai
Il est possible également de continuer à utiliser une IP dynamique en DHCP (par exemple sur eth0):
auto eth0 iface eth0 inet dhcp
Ajouter les lignes suivantes (cas utilisation interface wlan0) :
# interface wlan0 auto wlan0 iface wlan0 inet static wireless-essid votre_ssid wireless-key votre_cle_wep address votre_ip netmask 255.255.255.0 broadcast x.x.x.255 network x.x.x.0 gateway IP_de_votre_routeur_ou_box dns-nameservers DNS_de_votre_FAI
en remplaçant DNS_de_votre_FAI par celui dispo sur http://www.commentcamarche.net/faq/sujet-1496-serveurs-dns-des-principaux-fai
Il est possible également de continuer à utiliser une IP dynamique en DHCP (par exemple sur wlan0):
auto wlan0 iface wlan0 inet dhcp wireless-essid votre_ssid wireless-key votre_cle_wep
pour prendre en compte les modifications il suffit de redémarrer le daemon networking
sudo /etc/init.d/networking restart
Suite à cette manipulation, je n'avais plus de résolution DNS. Il a fallu éditer le fichier (avec droits admin) /etc/resolv.conf et ajouter les lignes suivantes (je reprends les mêmes adresses de l'exemple)
# Generated by NetworkManager nameserver 212.27.40.240 nameserver 212.27.40.241
Puis redémarrer le dæmon networking :
sudo /etc/init.d/networking restart
Contributeurs : SylvainsJC, ProgFou, Psychederic, clement.analogue.