Снижение использования памяти Compiz

37

Я следил за обновлениями, которые появляются каждую неделю, и влияют на производительность и использование ресурсов Compiz с тех пор, как я установил 11.10 (сейчас я тестирую 12.04 и 14.04). Для того, что я видел, использование процессора и памяти снизилось (особенно память). Я сравниваю установку 12.04 / 14.04 без каких-либо обновлений и затем применяю все обновления, а также сравниваю 12.04 и 14.04. Например, nautilus использует менее 35 МБ (для меня это было от 70 МБ до 150 МБ, выполняющих те же действия с ним несколько версий назад).

Другие процессы также получили некоторую оптимизацию, которая снизила мое общее использование памяти с примерно 850 МБ до 610 МБ (я также использую такие сервисы, как Apache, MySQL и т. Д.), Но после всего этого времени осталась единственная, которая осталась почти то же самое есть Compiz. Он по-прежнему использует более 100 МБ для запуска. Только используя рабочий стол с Unity и без других запущенных программ, требуется (прямо сейчас) 133 МБ. Какие варианты я могу использовать, чтобы уменьшить объем памяти, БЕЗ ставящий под угрозу стабильность Unity (например, удаление плагина OpenGL из конфигурации Compiz - ПЛОХАЯ идея).

Какие оптимизации можно сделать, чтобы снизить использование памяти Compiz?

ПРИМЕЧАНИЕ. - У меня уже установлен менеджер настроек Compiz Config (CCSM).

Луис Альварадо
источник
Отключите некоторые плагины Compiz, которые вам не нужны. Вы можете сделать это с помощью compizconfig-settings-manager. sudo apt-get install ccsmтогда беги ccsm.
Аноним
@Anonymous - у меня уже установлен ccsm, и, как я уже упоминал, плагин Unity и плагины OpenGL в вопросе, я подумал, что нет необходимости говорить, что я его установил. В любом случае я прошу, какую оптимизацию делать в ccsm, gconf или любой другой.
Луис Альварадо
+1 за вопрос, Луис - поскольку, выполняя все обычные обновления до 11.10, я больше не могу использовать Unity на своем нетбуке, - перед новой установкой все работало нормально. Это только компиз замедляет мою систему, так как Unity 2D и Gnome Shell работают отлично .....
Марк Руни

Ответы:

19

По моему опыту довольно сложно снизить использование памяти Compiz. Лучшее, что я могу предложить, - снизить качество текстур в плагине OpenGL, но это не сильно изменится.

Другим источником увеличения памяти Compiz могут быть утечки памяти. Это, кажется, иногда вызывается индикаторами, но может быть и из других источников (пока не уверен в них).

Мое решение состояло в том, чтобы периодически перезапускать единство, используя простой скрипт, который содержит:

#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 

Я знаю, что это не самый лучший ответ, поэтому я сам следую за этим вопросом, чтобы узнать, есть ли у кого-нибудь лучшие советы.

RolandiXor
источник
3
Знаете ли вы, как перезапустить Compiz, не облажаясь расположение окон в их рабочих пространствах. После того, как я убил compiz, все окна переместились в первое рабочее пространство, и мне пришлось их реорганизовать, что является болью
ivotron
1
@ivotron, к сожалению, нет. Я буду искать решение, хотя.
RolandiXor
2
Работал на меня, хотя я немного нервничал, когда ничего не показывалось на моем рабочем столе в течение нескольких секунд :)
Carlton
21

Обойти утечку памяти в compiz можно следующим образом:

sudo kill -HUP <compiz_process_id>

Не очень хорошее решение, но оно освобождает утечку памяти, не убивая полностью процесс.

Гас Вест
источник
Не уверен, почему это отрицательно. Это прекрасно сработало для меня. (хотя это сбрасывает много оконных рабочих пространств)
dpb
2
sudo kill -HUP $(pgrep compiz)
isaaclw
8
@isaaclw, илиpkill -HUP compiz
Петр Финдейзен
Спасибо. По крайней мере, мне не нужно перезапускать весь X.
Мохамад
Это решение не поддерживает мои настройки рабочих пространств. Все мои окна перемещаются случайным образом из рабочего пространства в другое.
х
10

Я знаю, что это старый пост, но ответ Гаса помог мне, и я хотел бы добавить к нему. Вот что я сделал (на Ubuntu 12.04):

  • Alt+ F2(запустить приложение)
  • Дела по расписанию
  • Новое повторяющееся задание
  • killall compiz -HUP
  • Каждый день в 00:00

Теперь compiz будет перезапускаться автоматически каждую ночь, без необходимости знать идентификатор процесса.

Моя проблема заключалась в том, что, если я оставил свой экран заблокированным на несколько дней, потребовалось ~ 30 секунд, чтобы открыть блокировку экрана, и использование памяти compiz составило около 1000 МБ.

Northmoor
источник
1
На 64-битной Ubuntu 14.04 compiz получает до 2 Гб оперативной памяти всего за 5 или 6 дней непрерывной работы. Возможно, это лучшее решение, приведенное здесь, и оно не беспокоит ни одно из запущенных приложений.
Луис де Соуза