Zmniejszenie zużycia pamięci Compiz

37

Śledzę aktualizacje, które pojawiają się co tydzień, w jaki sposób wpływają one na wydajność i wykorzystanie zasobów Compiz od czasu zainstalowania 11.10 (obecnie testuję 12.04 i 14.04). Z tego, co widziałem, zużycie procesora i pamięci spadło (szczególnie pamięć). Porównuję instalację 12.04 / 14.04 bez żadnych aktualizacji, a następnie zastosowanie wszystkich aktualizacji, a także porównanie 12.04 / 14.04. Na przykład nautilus zużywa mniej niż 35 MB (dla mnie było to od 70 MB do 150 MB, wykonując te same czynności z kilkoma wersjami temu).

Inne procesy również otrzymały pewną optymalizację, która obniżyła moje całkowite zużycie pamięci z około 850 MB do 610 MB (korzystam również z usług takich jak Apache, MySQL itp.), Ale po tym wszystkim pozostała jedyna, która pozostała prawie taki sam jest Compiz. Do uruchomienia nadal wykorzystuje ponad 100 MB. Tylko korzystanie z pulpitu z Unity i bez uruchomionych innych programów zajmuje (obecnie) 133 MB. Jakich opcji mogę użyć, aby obniżyć rozmiar pamięci BEZ narażania stabilności Unity (Na przykład usunięcie wtyczki OpenGL z konfiguracji Compiz to zły pomysł).

Jakie optymalizacje można wykonać, aby zmniejszyć zużycie pamięci Compiz?

UWAGA - Mam już zainstalowany Compiz Config Settings Manager (CCSM).

Luis Alvarado
źródło
Wyłącz niektóre wtyczki Compiz, których nie potrzebujesz. Możesz to zrobić za pomocą compizconfig-settings-manager. sudo apt-get install ccsmnastępnie biegnij ccsm.
Anonimowy
@Anonimowy - mam już zainstalowany ccsm i jak wspomniałem o wtyczce Unity i wtyczkach OpenGL w pytaniu, pomyślałem, że nie ma potrzeby mówić, że mam ją zainstalowaną. Tak czy inaczej pytam, jakie optymalizacje zrobić w ccsm, gconf lub innym.
Luis Alvarado,
+1 za pytanie Luis - od czasu wykonania wszystkich regularnych aktualizacji do wersji 11.10 Nie mogę już używać Unity na moim netbooku - działał dobrze przed nową instalacją. To tylko compiz spowalnia mój system, ponieważ Unity 2D i Gnome Shell działają doskonale .....
Mark Rooney

Odpowiedzi:

19

Z mojego doświadczenia jest raczej trudno obniżyć zużycie pamięci Compiz. Najlepszą rzeczą, jaką mogę zasugerować, aby obniżyć jakość tekstury we wtyczce OpenGL, ale nie zmieni to wiele afaik.

Innym źródłem wzrostu pamięci compiz mogą być wycieki pamięci. Czasami wydaje się, że jest to wywoływane przez wskaźniki, ale może też pochodzić z innych źródeł (jeszcze nie jestem pewien).

Moje rozwiązanie polegało na okresowym restartowaniu jedności za pomocą prostego skryptu zawierającego:

#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 

Wiem, że nie jest to najlepsza z odpowiedzi, więc śledzę to pytanie, aby sprawdzić, czy ktoś ma lepsze wskazówki.

RolandiXor
źródło
3
czy wiesz, jak zrestartować Compiz bez zepsucia lokalizacji okien w ich obszarach roboczych. Po tym, jak zabiję kompiz, wszystkie okna przechodzą do pierwszego obszaru roboczego i muszę je zreorganizować, co jest uciążliwe
ivotron
1
@ivotron niestety nie. Poszukam jednak rozwiązania.
RolandiXor
2
Pracował dla mnie, chociaż trochę się denerwowałem, gdy przez kilka sekund nic nie pokazywałem na pulpicie :)
Carlton
21

Obejściem wycieku pamięci Compiz jest:

sudo kill -HUP <compiz_process_id>

Nie jest to świetne rozwiązanie, ale uwalnia wyciek pamięci bez całkowitego zabicia procesu.

Gus West
źródło
Nie jestem pewien, dlaczego jest to przegłosowane. Działa mi to świetnie. (mimo że zresetował wiele obszarów roboczych okien)
dpb
2
sudo kill -HUP $(pgrep compiz)
isaaclw
8
@isaaclw, lubpkill -HUP compiz
Piotr Findeisen
dzięki. Przynajmniej nie muszę restartować całego X.
Mohamad
To rozwiązanie nie utrzymało moich ustawień obszarów roboczych. Wszystkie moje okna zostały losowo przeniesione z obszaru roboczego do innego.
jc
10

Wiem, że to stary post, ale odpowiedź Gusa pomogła mi i chciałbym go dodać. Oto co zrobiłem (na Ubuntu 12.04):

  • Alt+ F2(uruchom aplikację)
  • Zaplanowane zadania
  • Nowe zadanie cykliczne
  • killall compiz -HUP
  • Codziennie o 00:00

Teraz compiz będzie restartowany automatycznie co noc, bez konieczności znajomości identyfikatora procesu.

Mój problem polegał na tym, że jeśli zostawiłem ekran zablokowany na kilka dni, otwarcie blokady ekranu zajęło ~ 30 sekund, a użycie pamięci kompiza wyniosło około 1000 MB.

Northmoor
źródło
1
W Ubuntu 14.04 64bit, compiz uzyskuje 2 GB pamięci RAM w ciągu zaledwie 5 lub 6 dni ciągłej aktywności. Jest to prawdopodobnie najlepsze rozwiązanie podane tutaj i nie przeszkadza żadnej z uruchomionych aplikacji.
Luís de Sousa