Accéder au contenu principal

Consommation mémoire des bureaux sous GNU/Linux

La question quasi classique : "Combien de mémoire est nécessaire utiliser pour tel bureaux sous GNU/Linux ?" On peut vouloir utiliser une machine plus ou moins ancienne, donc dotée d'une quantité limité de mémoire vive. Se pose alors la question de l'environnement de bureau approprié à la machine. .... En dehors de toute considération de goût.

Je me suis amusé à étudier la question dans la limite de mes moyens.

Comme je ne dispose pas de 36000 machines, j'ai profité des capacités de virtualisation de ma tour (construite justement pour virtualiser). J'ai ainsi construit plusieurs machines virtuelles avec, systématiquement, les mêmes profils. Toutes ces machines virtuelles sont en 64 bits avec :
* 4 Go de mémoire vive
* 128 Mo de mémoire vidéo
* SDA1 : Ext4 : 17 Go :  /
* SDA2 : Swap : 4 Go
* SDB1 : Ext4 : 8 Go : /home

Les environnements de bureaux étudiés sont les plus classiques. Par ordre alphabétique :
* Cinnamon : un fork de Gnome-shell initié par l'équipe LinuxMint dont il existe une version dégradée nommée Cinnamon 2D employée si les ressources sont insuffisantes
* Enlightenment : un bureau relativement peu connu mais très joli et fonctionnel, au développement assez lent
* Fluxbox : un bureau minimal, voire austère, et pourtant fonctionnel
* Gnome-shell : l'évolution de Gnome 2, assez connu, qui fonctionne par le biais d'extensions
* IceWM : un bureau assez léger et agréable
* KDE (4) : bureau très connu, complet
* LXDE : autre bureau léger et agréable
* Mate : un fork de Gnome 2 et qui ressemble assez à son aîné, complet et fonctionnel
* OpenBox : autre bureau minimaliste, voire austère mais fonctionnel
* Razor : autre bureau léger et agréable
* Trinity (TDE) : un fork de KDE3 qui garde la même apparence, étudié surtout par curiosité car peu employé
* Unity : le bureau par défaut d'Ubuntu, un fork de Gnome-shell
* WindowMaker : encore un bureau minimaliste et austère
* Xfce : un bureau léger, complet et fonctionnel

Au départ, j'ai virtualisé sous VirtualBox. Je me suis heurté à l'impossibilité d'évaluer correctement Cinnamon car je "tombais" systématiquement en mode dégradé, Cinnamon 2D, quelles que soient les distributions. J'ai donc virtualisé également sous VMWare Player afin de vérifier si le problème se reproduisait et il s'est reproduit. Je ne suis donc pas en mesure d'évaluer les différences en terme de consommation mémoire entre Cinnamon en version "débridée" et Cinnamon en mode dégradé. J'ai cependant profité de la situation pour noter également les résultats sous VMWare.

Un mot sur VMWare : J'ai récupéré tant que possible mes machines virtuelles en les exportant depuis VirtualBox (désinstallation des additions VBox préalables). Si cette méthode ne fonctionnait pas (car elle ne fonctionne pas systématiquement), j'ai copié tous mes disques virtuels VBox un par un vers le format VMWare, soit VMDK, afin de pouvoir ensuite recréer mes machines virtuelles sous VMWare.

Dans tous les cas, j'ai créé une seule machine virtuelle par distribution, sous VirtualBox et sous VMWare. Dans chacune de ses machines, en 64 bit (pour rappel), ont été installé tous les environnements de bureau requis (et non une machine par distribution et bureau). Les distributions de bases sont :
* Debian Sid : incontournable
* Fedora 20 : incontournable
* Mageia 4 : parce que c'est ma distribution principale
* Manjaro :  parce que basée sur Arch Linux et aussi en "rolling release"
* Ubuntu 14.04 et ses dérivées  : incontournable (au moins pour Unity)
* LinuxMint 16 : incontournable pour Mate et, surtout, Cinnamon

A noter que Trinty a été évalué uniquement sous Fedora.

La mémoire consommée a été évalué via la commande free -m, en console, dès le démarrage du système. Chaque environnement de bureau est dans son état minimal : pas de fioritures, aucune application annexe polluante. Bref, un environnement brut de décoffrage, tel qu'installé en minimal par la distribution.

De plus, la machine virtuelle a été systématiquement redémarré pour évaluer l'environnement de bureau suivant, afin d'éviter toute pollution de processus résiduel.

Voici le tableau des relevés de consommation :
Consommation des environnements de bureaux GNU/Linux
Relevés des consommations par bureau selon les distributions GNU/Linux
Rappels :
* Toutes les distributions virtualisées (sans exception) sont en 64 bits avec 4 Go de mémoire RAM et 128 Mo de mémoire vidéo.
* Toutes les machines virtuelles (VirtualBox comme VMware Player) sont strictement identiques.
* Les Virtualbox Additions et VMware Tools (selon le cas) ont été préalablement installé avant toute prise de mesure.
* Le système virtuel a été systématiquement redémarré avant de prendre toute nouvelle mesure de consommation mémoire.
* Toutes les valeurs relevées ont été systématiquement confirmé 2 à 3 fois et les nouvelles mesures ont toujours été très sensiblement identiques (c'est-à-dire que les différences étaient absolument insignifiantes car trop minimes). 

En résumé :
* On relève une consommation légèrement supérieure sous VMware, de façon générale (ce qui doit être propre à VMWare).
* Je rappelle que je n'ai pas évalué en situation réelle, sans virtualisation. Ce qui serait aussi intéressant.
* En règle générale, c'est Gnome-shell qui est le plus gourmand.
* En règle générale, c'est WindowMaker qui est le moins gourmand.

Si on devait tenter, je dis bien "tenter", d'établir un classement par ordre croissant, du moins gourmand vers le plus vorace, cela donnerais, selon les moyennes de VirtualBox :
1) FluxBox (133.50 Mo)
2) Windowmaker (146.00 Mo)
3) IceWM (157.75 Mo)
4) OpenBox (160.25 Mo)
5) Enlightenment (168.25 Mo)
6) LXDE (203.00 Mo)
7) Mate (258.00 Mo)
8) Xfce (273.60 Mo)
9) Razor (346.75 Mo)
10) Unity (371.00 Mo)
11) Cinnamon 2D (375.50 Mo)
12) KDE (471.00 Mo)
13) Gnome-shell (502.80 Mo)
14) Gnome classic (503.66 Mo)

En utilisant les moyennes de VMWare, peu de changements :
1) FluxBox (165.00 Mo)
2) Windowmaker (176.00 Mo)
3) Enlightenment  (201.25 Mo)
4) OpenBox (202.50 Mo)
5) IceWM (214.00 Mo)
6) LXDE (249.80 Mo)
7) Mate (309.40 Mo)
8) Xfce (337.80 Mo)
9) Razor (380.75 Mo)
10) Unity (470.00 Mo)
11) Cinnamon 2D (489.75 Mo)
12) Gnome classic (521.66 Mo)
13) KDE (547.00 Mo)
14) Gnome-shell (577.60 Mo)

On peut à peu près établir la liste suivante :
1) FluxBox
2) WindowMaker
3) Enlightenment, IceWM et OpenBox plus ou moins difficiles à départager ainsi
4) LXDE
5) Mate
6) Xfce
7) Razor
8) Unity
9) Cinnamon 2D
10) KDE, Gnome-shel et Gnome classic difficiles aussi à départager

Pour autant, la consommation n'est qu'une partie du problème. Tout dépend de ce que l'utilisateur recherche :
* une interface épurée au maximum (FluxBox, WindowMaker, OpenBox),
* une interface plus élaborée mais relativement simple (Enlightenment, IceWM, LXDE, Razor),
* une interface complète et intégrée (KDE, Gnome classic avec ses variantes qui sont Gnome-shell, Mate, Cinnamon, Unity, sans oublier Xfce).

A vous de voir. Le mieux reste de tester par soi même ;-)

Commentaires

Posts les plus consultés de ce blog

Tablette Samsung Galaxy tab 2 10.1 - Episode 2

Je tente toujours de recycler ma vieille tablette. Il y a quelques jours, j'avais tenté d'installer LineageOS vainement . Je retente encore. Plutôt que de passer par une machine virtuelle (et risquer les possibles barrages), je suis passé par un véritable système Windows. 1- Le root J'ai suivi ce tutoriel pour rooter ma tablette.  L'opération s'est terminé correctement. A l'issue de cette manipulation, après un redémarrage de la machine, j'ai installé Root Checker Basic (plusieurs versions existent venant de divers programmeurs) qui, après vérification, me dit que l'appareil .... n'est pas rooté ! Encore ?! J'installe donc SuperSU pour installer le root et redémarre. Après ce nouveau redémarrage, je valide l'autorisation demandée par SuperSU puis relance une vérification avec Root Checker qui m'informe que ..... l'appareil est rooté. Ah ! Enfin ! 2 - Sauvegarder Depuis le Store, j'ai installé TWRP pour faire les s

Recyclage de matéreil Android

Ma vieille tablette Samsung Galaxy Tab 2 10.1 acquise en 2012 était devenue poussive. Depuis longtemps d'ailleurs ! Ayant reçu la nouvelle tablette, j'ai voulu recycler l'ancienne. Au départ, je pensais remplacer Android par Lineage OS. Cette vieille tablette est référencée compatible avec Lineage OS tandis que quelques tutoriaux trainent ici et là. Passer sur Lineage OS : facile ou pas dans mon cas ? ... Pas encore gagné ! Une tablette... Je me sers essentiellement de la tablette pour regarder 4 conneries "trucs" divers sur le Web et, surtout, lire. De la lecture de romans (polars, SF, romans à base historique, action, techno-trillers ...) et autres études variées (sur l'Histoire, la géopolitique ...). Mais aussi des BD via un abonnement chez Izneo et des achats chez comiXology . Il est évidemment possible de lire des BD aux formats CBZ ou CBR (qui ne sont que des archives ZIP ou RAR dont on aura modifié l'extension) grâce à diverses applications

Mageia 8 - Retour

Mageia 8 vient très récemment de sortir. L'occasion de mettre à niveau mes machines. Je dispose d'un PC fixe avec 2 installations Mageia (dont une de "production" et l'autre à des fins de test) ainsi qu'un PC portable MSI.  1- PC fixe Sur ma tour faite sur mesure et datant de 2012, la mise à niveau de Mageia 7 vers 8 s'est mal passée. Mageia 7 était préalablement bien à jour. J'avais suivi le wiki pour faire une mise à niveau en ligne avec urpmi. Je précise que : Je n'ai aucune application compilée sur mesure (que du RPM). Je n'ai aucune application en 32 bits. Je n'ai utilisé qu'un minimum de modules externes pour personnaliser Plasma. J'ai un boot legacy. Mon erreur a été très probablement de ne pas simuler préalablement l'installation (donc aussi de mieux lire attentivement les notes de version !) ce qui m'aurait permis de constater à temps que certains paquets ne pouvaient être installés et mis à niv