web-dev-qa-db-fra.com

Réduire l'utilisation de la mémoire Compiz

J'ai suivi les mises à jour qui apparaissent chaque semaine concernant leur incidence sur les performances et l'utilisation des ressources de Compiz depuis l'installation de la version 11.10 (pour le moment, je teste les versions 12.04 et 14.04). Pour ce que j'ai vu, l'utilisation du processeur et de la mémoire a diminué (spécialement la mémoire). Je compare l'installation de 12.04/14.04 sans mises à jour, puis j'applique toutes les mises à jour et je compare également les versions 12.04 à 14.04. Par exemple, Nautilus utilise moins de 35 Mo (pour moi, c'était entre 70 et 150 Mo, faisant les mêmes activités avec plusieurs versions auparavant).

D'autres processus ont également reçu des optimisations qui ont réduit l'utilisation totale de ma mémoire d'environ 850 Mo à 610 Mo (j'utilise également des services comme Apache, MySQL, etc.), mais après tout ce temps, le seul qui est resté presque le même est Compiz. Il utilise toujours plus de 100 Mo pour commencer. En utilisant uniquement le bureau avec Unity et aucun autre programme en cours d'exécution, il faut (actuellement) 133 Mo. Quelles options puis-je utiliser pour réduire l'encombrement de la mémoire SANS compromettre la stabilité de Unity (par exemple, supprimer le plug-in OpenGL de Compiz config est une mauvaise idée).

Quelles optimisations peut-on faire pour réduire l'utilisation de la mémoire par Compiz?

REMARQUE - Le gestionnaire de paramètres Compiz Config (CCSM) est déjà installé.

37
Luis Alvarado

D'après mon expérience, il est plutôt difficile de réduire l'utilisation de la mémoire Compiz. La meilleure chose que je puisse suggérer est de baisser la qualité de la texture dans le plugin OpenGL, mais cela ne changera pas beaucoup.

Les fuites de mémoire sont une autre source d’augmentation de la mémoire Compiz. Cela semble parfois être déclenché par des indicateurs, mais peut aussi provenir d'autres sources (pas encore sûr d'eux).

Ma solution a été de redémarrer périodiquement l'unité en utilisant un script simple qui contient:

#kill compiz completely, including all child processes, freeing it's memory:
killall -9 compiz & 
#run unity and give you back a free terminal.
unity & disown 

Je sais que ce n'est pas la meilleure des réponses, alors je suis cette question moi-même pour voir si quelqu'un a de meilleurs conseils.

19
RolandiXor

Un moyen de contourner la fuite de mémoire de Compiz consiste à:

Sudo kill -HUP <compiz_process_id>

Ce n'est pas une bonne solution, mais cela libère de la mémoire qui a fui sans tuer complètement le processus.

21
Gus West

Je sais que ceci est un ancien post, mais la réponse de Gus m'a aidé et j'aimerais ajouter quelque chose. Voici ce que j'ai fait (sur Ubuntu 12.04):

  • Alt+F2 (lancer l'application)
  • Tâches planifiées
  • Nouvelle tâche récurrente
  • killall compiz -HUP
  • Tous les jours à minuit

Maintenant, compiz sera redémarré automatiquement toutes les nuits, sans avoir à connaître l'identifiant du processus.

Mon problème était que si je laissais mon écran verrouillé pendant quelques jours, il fallait environ 30 secondes pour ouvrir le verrouillage de l'écran, et l'utilisation de la mémoire Compiz était d'environ 1000 Mo.

10
Northmoor