Giảm sử dụng bộ nhớ Compiz


37

Tôi đã theo dõi các bản cập nhật xuất hiện mỗi tuần về cách chúng ảnh hưởng đến hiệu suất và việc sử dụng tài nguyên của Compiz kể từ khi tôi cài đặt 11.10 (Hiện tại tôi đang thử nghiệm 12.04 và 14.04). Đối với những gì tôi đã thấy, việc sử dụng CPU và bộ nhớ đã giảm (bộ nhớ đặc biệt). Tôi đang so sánh việc cài đặt 12.04 / 14.04 mà không có bất kỳ cập nhật nào và sau đó áp dụng tất cả các bản cập nhật và cũng so sánh 12.04 với 14.04. Ví dụ, nautilus đang sử dụng ít hơn 35 MB (Đối với tôi, nó nằm trong khoảng từ 70 MB đến 150 MB thực hiện các hoạt động tương tự với một số phiên bản trước đây).

Các quy trình khác cũng đã nhận được một số loại tối ưu hóa đã giảm tổng mức sử dụng bộ nhớ của tôi từ khoảng 850 MB xuống còn 610 MB (tôi cũng sử dụng các dịch vụ như Apache, MySQL, v.v.) nhưng sau tất cả thời gian này, chỉ có một lần duy nhất gần như giống nhau là Compiz. Nó vẫn sử dụng hơn 100MB để bắt đầu. Chỉ sử dụng máy tính để bàn có Unity và không có chương trình nào khác đang chạy, phải mất (ngay bây giờ) 133 MB. Tôi có thể sử dụng các tùy chọn nào để giảm dung lượng bộ nhớ mà KHÔNG ảnh hưởng đến tính ổn định của Unity (Ví dụ: xóa plugin OpenGL khỏi cấu hình Compiz là ý tưởng BAD).

Những tối ưu hóa nào có thể được thực hiện để giảm mức sử dụng bộ nhớ của Compiz?

LƯU Ý - Tôi đã cài đặt Trình quản lý cài đặt cấu hình Compiz (CCSM).


Vô hiệu hóa một số plugin Compiz mà bạn không cần. Bạn có thể làm điều này với compizconfig-settings-manager. sudo apt-get install ccsmrồi chạy ccsm.
Ẩn danh

@ Đồng nghĩa - Tôi đã cài đặt ccsm và khi tôi đề cập đến plugin Unity và plugin OpenGL trong câu hỏi tôi nghĩ không cần phải nói tôi đã cài đặt nó. Dù bằng cách nào, tôi đang hỏi những gì tối ưu hóa để làm trong ccsm, gconf hoặc bất kỳ cách nào khác.
Luis Alvarado

+1 cho câu hỏi Luis - kể từ khi thực hiện tất cả các bản cập nhật thường xuyên đến 11.10, tôi không còn có thể sử dụng Unity trên netbook của mình - đã hoạt động tốt trước khi cài đặt mới. Nó chỉ là công cụ làm chậm hệ thống của tôi khi Unity 2D và Gnome Shell hoạt động hoàn hảo .....
Mark Rooney

Câu trả lời:


19

Theo kinh nghiệm của tôi, việc sử dụng bộ nhớ Compiz khá khó khăn. Điều tốt nhất tôi có thể đề xuất để giảm chất lượng kết cấu trong plugin OpenGL, nhưng điều này sẽ không thay đổi nhiều.

Một nguồn tăng bộ nhớ compiz khác có thể là rò rỉ bộ nhớ. Điều này dường như đôi khi được kích hoạt bởi các chỉ số, nhưng cũng có thể từ các nguồn khác (chưa chắc chắn về chúng).

Giải pháp của tôi là định kỳ khởi động lại sự thống nhất, sử dụng một tập lệnh đơn giản có chứa:

#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 

Tôi biết đây không phải là câu trả lời hay nhất, vì vậy tôi sẽ tự mình theo dõi câu hỏi này để xem có ai có lời khuyên tốt hơn không.


3
Bạn có biết làm thế nào để khởi động lại compiz mà không làm hỏng vị trí của các cửa sổ trong không gian làm việc của chúng. Sau khi tôi giết compiz, tất cả các cửa sổ chuyển đến không gian làm việc đầu tiên và tôi phải sắp xếp lại chúng, đó là một nỗi đau
ivotron

1
@ Pivotron tiếc là không. Tôi sẽ tìm kiếm một giải pháp mặc dù.
RolandiXor

2
Làm việc cho tôi mặc dù tôi có một chút lo lắng khi không có gì hiển thị trên máy tính để bàn của tôi trong vài giây :)
Carlton

21

Một cách giải quyết vấn đề rò rỉ bộ nhớ compiz là:

sudo kill -HUP <compiz_process_id>

Không phải là một giải pháp tuyệt vời, nhưng nó giải phóng bộ nhớ bị rò rỉ mà không hoàn toàn giết chết quá trình.


Không chắc chắn tại sao điều này được hạ cấp. Nó làm việc rất lớn đối với tôi. (mặc dù nó đặt lại rất nhiều không gian làm việc của cửa sổ)
dpb

2
sudo kill -HUP $(pgrep compiz)
isaaclw

8
@isaaclw, hoặcpkill -HUP compiz
Piotr Findeisen

cảm ơn. Ít nhất là tôi không cần phải khởi động lại toàn bộ X.
Mohamad

Giải pháp này không đảm bảo cài đặt không gian làm việc của tôi. Tất cả các cửa sổ của tôi di chuyển ngẫu nhiên từ không gian làm việc sang nơi khác.
jc

10

Tôi biết đây là một bài viết cũ, nhưng câu trả lời của Gus đã giúp tôi và tôi muốn thêm vào đó. Đây là những gì tôi đã làm (trên Ubuntu 12.04):

  • Alt+ F2(chạy ứng dụng)
  • Nhiệm vụ theo lịch trình
  • Nhiệm vụ thường xuyên mới
  • killall compiz -HUP
  • Mỗi ngày vào lúc 00:00

Bây giờ compiz sẽ được khởi động lại tự động mỗi đêm, mà không cần phải biết id quá trình.

Vấn đề của tôi là nếu tôi để màn hình bị khóa trong vài ngày, phải mất ~ 30 giây để mở khóa màn hình và việc sử dụng bộ nhớ compiz là khoảng 1000 MB.


1
Trên Ubuntu 14.04 64 bit, compiz nhận được 2 Gb RAM chỉ sau 5 hoặc 6 ngày hoạt động liên tục. Đây có thể là giải pháp tốt nhất được đưa ra ở đây và không làm phiền bất kỳ ứng dụng nào đang chạy.
Luís de Sousa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.