[Ubuntu] Tối ưu hóa ubuntu

Trong rất nhiều bài viết trên mạng, hầu như chỉ nêu các việc nên làm sau khi cài ubuntu về cài các phần mềm bổ trợ, cài các ứng dụng quen thuộc, tuy nhiên tôi muốn một điều gì đó khác… giống như làm sao để tối ưu hóa trong ubuntu để ubuntu chạy mượt hơn, tốt hơn.
Một số người bảo dịch lại nhân Ubuntu, thực sự thì tại thời điểm này tôi chưa biết làm =))
Ngoài ra còn cài một số phần mềm, ứng dụng khác để tối ưu và nó đều nằm trong bài viết sau đây – một bài viết của http://ubuntu-viet.blogspot.com rất hay và nhiều điều cần học hỏi. Cảm ơn tác giả bài viết rất nhiều. Tôi xin phép được trích và copy lại để tiện theo dõi, tìm kiếm.

Sau một thời gian sử dụng, bạn cảm thấy Ubuntu không nhanh như lúc ban đầu, “nó có vẻ chậm” . Đó là bởi vì sau một thời gian sử dụng, bạn đã cài đặt nhiều ứng dụng và các ứng dụng này khi chạy đã chiếm một phần tài nguyên của máy.
Đối với các máy tính sở hữu cấu hình mạnh, có lẽ bạn không cần quan tâm đến tối ưu hóa Ubuntu. Nhưng với những máy tính với cấu hình tầm trung hoặc yếu, tối ưu hóa là rất cần thiết.
Phương châm: “Tối Ưu cho Ubuntu nhanh hơn, nhưng phải An Toàn”.
Bài viết thực hiện trên Ubuntu 13.04, tuy nhiên bạn cũng có thể thực hiện trên các phiên bản khác.

1. Loại bỏ  hệ thống dịch vụ ‘không cần thiết’

Ubuntu có rất nhiều dịch vụ hệ thống, có những vụ thực sự ‘không cần thiết’. Remove (gỡ bỏ) những dịch vụ hệ thống là không an toàn. Vì vậy, bạn chỉ nên tắt (disable) các dịch vụ hệ thống.
Trước hết, hãy cài ứng dụng Bum. Mở teminal và chạy lệnh sau:

sudo apt-get install bum
gksudo bum

Danh sách một số dịch vụ nên tắt:
“openvpn” : Nếu bạn không sử dụng VPN để truy cập Internet.
“apport”: Tắt cảnh báo lỗi Crash trên Ubuntu
bluetooth”:  Nếu bạn không sử dụng kết nối Bluetooth/ hoặc máy tính của bạn không hỗ trợ
“apci-support”: Dịch vụ này chỉ hữu ích trên Laptop hoặc Desktop sử dụng bàn phím hỗ trợ phím chức năng (Fn, Volume Up+Down… )
“acpid”: Nếu bạn sử dụng Desktop, chương trình quản lý năng lượng dành cho các hệ máy có Pin.
“bootlogd”: Nếu bạn không quan tâm đến các tập tin LOG trong quá trình khởi động.
“cups*”: Các dịch vụ giúp quản lý in văn bản (in đến trang bao nhiêu, máy in nào đang hoạt động), tắt ứng dụng này bạn vẫn sẽ in được văn bản hoặc nếu bạn không sử dụng máy in thì nên tắt nó.
“vbox*”: Các dịch vụ này chỉ xuất hiện sau khi cài đặt ứng dụng VitualBox, tắt nó đi cũng không ảnh hưởng đến ứng dụng này.

2. Loại bỏ các ứng dụng khởi động cùng hệ thống (Startup Application)
Trên Ubuntu 13.04, các ứng dụng mặc định yêu cầu khởi động cùng hệ thống đã ít hơn so với phiên bản 12.04 LTS. Một vài ứng dụng sau khi cài đặt, sẽ yêu cầu cần khởi động cùng hệ thống, do đó tài nguyên của máy tính sẽ giảm đi. Vì vậy bạn chỉ nên để các ứng dụng cần thiết khi khởi động cùng hệ thống.
– Mở Dash, chạy “Startup Applications”
Bỏ check ở các ứng dụng không cần thiết. Như bạn thấy, tôi chỉ để 3 ứng dụng mà tôi thấy cần thiết.

tối ưu hóa ubuntu

3. Gỡ bỏ một vài ứng dụng hệ thống 
Một vài ứng dụng hệ thống có thể gỡ bỏ khỏi hệ thống một cách an toàn. Tuy nhiên, gỡ bỏ những ứng dụng này chỉ giúp bạn tiết kiệm từ 20MB đến 70MB RAM (theo tính toán chủ quan của tôi), vì vậy bạn nên cân nhắc cẩn thận :)).

tối ưu hóa ubuntu

* indicator-messages Biểu tượng tin nhắn trên Status Bar – đó là một biểu tượng nhỏ trên Status Bar cho phép bạn truy cập nhanh vào các ứng dụng xã hội khác nhau và các thiết lập tùy chỉnh (chẳng hạn như Gwibber, Empathy vv). Gỡ bỏ nó bằng dòng lệnh phía dưới và nếu bạn muốn cài lại chỉ cần thay thế “autoremove” = “install”

sudo apt-get autoremove indicator-messages
sudo apt-get autoremove telepathy-indicator

* Deja-dup
Deja-dup là ứng dụng tạo ra Backup File cho Ubuntu, nếu bạn không có ý định tao ra các Backup File thì bạn có thể gỡ bỏ nó bằng các đoạn lệnh phía dưới.

sudo apt-get autoremove deja-dup

* Zeitgeist
Zeitgeist là ứng dụng hệ thống giúp quản lý và thống kê dữ liệu cho thanh Dash. Nó ghi lại lịch sử tập tin vừa sử dụng, vừa tạo và gần như mọi thao tác trên Ubuntu  (?). Tuy nhiên, nhiều người cho rằng tính năng thu thập dữ liệu của Zeitgeist hơi giống một phần mềm “gián điệp” và các hoạt động đó khiến Ubuntu chậm đi. Bạn có thể gỡ bỏ hoàn toàn ứng dụng này bằng lệnh:

sudo apt-get autoremove zeitgeist-core

* Ubuntu One:
http://nguyenvanquan7826.files.wordpress.com/2013/11/7c188-ubuntuone2.jpg?w=445&resize=200%2C147

Ubuntu One được cài đặt mặc định cùng hệ thống, tôi nghĩ nhiều người ở Việt Nam không thích dùng nó cũng bởi vì ở Việt Nam – Upload file lên server của One là tương đối chậm. Bản thân tôi vẫn dùng Ubuntu One – một tài khoản của One giúp tôi đăng nhập một số ứng dụng trên Ubuntu Store (đơn cử như Nitro – xem thêm tại đây – mục “tăng hiệu suất làm việc”)
Tuy nhiên, hãy thử dùng Ubuntu One trước khi bạn gỡ bỏ nó, bạn sẽ tiết kiệm được từ 30Mb – 45Mb RAM.

sudo apt-get purge ubuntuone-*

4. Gỡ bỏ các gói file tạm thời trên Ubuntu
Trên lý thuyết, các file tạm thời giúp cho cho các ứng dụng chạy mượt mà hơn. Nhưng không phải lúc nào cũng vậy, một số ứng dụng tạo ra số lượng file tạm thời lớn đôi khi là file có dung lượng lớn. Do đó hệ thống sẽ mất đi một lượng bộ nhớ trên ổ cứng và truy cập các file hệ thống trên ổ cứng vì vậy mà khó khăn hơn. Rõ ràng rằng điều đó làm Ubuntu chạy chậm. Dù sao, tạo và quản lý file tạm thời trên Ubuntu vẫn tốt hơn trên Windows nhiều lần. Chúng ta có thể gỡ bỏ an toàn các file tạm thời mà không làm ảnh hưởng đến ứng dụng/ hoặc cả hệ thống như trên Windows.
* Gỡ bỏ các gói đã cài đặt
Khi bạn cài đặt các gói ứng dụng trong Ubuntu sử dụng Ubuntu Store – hoặc các lệnh apt-get, Synaptic … chúng đều tải về các gói và lưu trữ trong ổ cứng của bạn (cache) trước khi cài đặt. Một thời gian dài, chúng chiếm một lượng bộ nhớ tương đối lớn trên đĩa cứng. Mặc dù khác với ‘lãng phí’ không gian ổ cứng, nó sẽ không có tác động lớn đến hiệu suất của hệ thống. Tuy nhiên, quản lý và nâng cấp các gói ứng dụng sẽ gặp một số vấn đề (không nâng cấp được, gói ứng dụng bị lỗi). Để gỡ bỏ các gói này, chỉ cần 1 dòng lệnh duy nhất.

sudo apt-get clean

* Tự động gỡ bỏ các gói ứng dụng không cần thiết
Khi bạn cài đặt một số gói ứng dụng, ứng dụng cũng cài đặt các gói khác phụ thuộc (dependencies). Vì một số nguyên nhân, mà gói ứng dụng chính/phụ thuộc có thể không tương thích (bị lỗi, phiên bản cũ hơn so với phiên bản của hệ thống) và cần phải gỡ bỏ. Bạn cũng sẽ gặp trường hợp này khi bạn nâng cấp một gói Kernel mới, các kernel cũ sẽ được yêu cầu gỡ bỏ để tiết kiệm không gian ổ cứng.

sudo apt-get autoremove

* Gỡ bỏ file tạm thời của ứng dụng
Các file tạm thời của ứng dụng có thể gỡ bỏ an toàn nếu bạn dùng BleachBit – ứng dụng này giúp bạn gỡ bở các file tạm thời mà không làm ảnh hưởng gì đến hệ thống.

Cài đặt BleachBit

Sau khi cài đặt, bạn có thể mở BleachBit trên Dash – có hai lựa chọn BleachBit và BleachBit (as Root) – lựa chọn Root chỉ phù hợp nếu bạn hiểu biết sâu về hệ thống Ubuntu, vì vậy tôi không khuyên bạn sử dụng nếu chưa hiểu rõ về hệ thống.

tối ưu hóa ubuntu

Mở BleachBit, đánh dấu check trên cột “Active” các mục mà bạn cần gỡ bỏ. Một số mục mặc định :
*APT: các gói cài đặt trên Ubuntu – có thể check hết.
*Chromium, Firefox, Google Chrome, Opera: các trình duyệt Web trên Ubuntu – nếu dánh dấu các Cookies và History bạn sẽ phải đăng nhập lại một trang Web nào đó.
*Bash: lịch sử các dòng lệnh chạy trên Terminal
*Deep_Scan: các file tạm thời của trình duyệt Web, file Backup, file thumb cho ảnh. Bạn nên check mục .Ds_Store và Thumbs.db
*Flash: các tập tin Flash khi truy cập các Website
*System: các file tạm thời của hệ thống, thường thì chỉ có thể gỡ bỏ khi bạn chạy phiên bản As Root

* Chống phân mảnh tập tin hệ thống
Các hệ điều hành nhân Linux được trang bị thuật toán tốt hơn để xử lý các tập tin phân mảnh và do đó họ không yêu cầu chống phân mảnh cho ổ cứng. Nhưng theo một số chuyên gia, những người đã thực hiện nghiên cứu sâu rộng, trong một số trường hợp, yêu cầu thứ hai chỉ đơn giản là không đúng sự thật. Và Ubuntu cũng nhận ra điều này, họ tích hợp vào hệ thống công cụ chống phân mảnh trên Ubuntu 13.04 là e4defrag(có lẽ đã xuất hiện từ phiên bản 12.04 LTS)

Để quét phân mảnh bạn dùng lệnh bêndưới, bạn có thể quét toàn hệ thống hoặc một thư mục. Ở đây tôi quét và phân mảnh trên thư mục HOME. Chống phân mảnh sẽ giúp truy cập các file hệ thống nhanh hơn, do đó cải thiện tốc độ Ubuntu.

sudo e4defrag -c ~/

Đề chạy phân mảnh thay “-c” bằng “-v”

sudo e4defrag -v ~/

tối ưu hóa ubuntu

5. Preload

Ứng dụng Preload sẽ quan sát những ứng dụng bạn sử dụng thường xuyên nhất và nó sẽ yêu cầu hệ thống cung cấp bộ nhớ đệm để tải trước một số tập tin của các ứng dụng đó vào RAM, do vậy sẽ các ứng dụng đó sẽ khởi động nhanh hơn. Để cài đặt Preload bạn chạy dòng lệnh phía dưới.
sudo apt-get install preload
Sau khi cài đặt, Preload sẽ bắt đầu và bạn không nhất thiết cần phải thiết lập cho nó. Ứng dụng này đặc biệt có ích cho các ứng dụng khởi động chậm như LibreOffice, Eclipse, Photoshop và các trình duyệt Web. Tuy nhiên, nó không giúp hệ thống thay đổi ngay tức khắc vì Preload cần một khoảng thời gian để thu thập dữ liệu.
Có lẽ bạn sẽ đặt câu hỏi :”Nếu Preload tải trước một số tập tin vào RAM thì nó có tiêu hao nhiều dung lượng RAM không?”. Câu trả lời: “Preload sẽ tiêu hao một phần dung lượng RAM nhưng là không đáng kể. “. Theo tìm hiểu của tôi về vấn đề này trên nhiều diễn đàn Linux: với hệ thống có 1GB RAM, Preload với thiết lập mặc định, ứng dụng sẽ tiêu hao khoảng từ 60-85Mb RAM ~ 10% RAM. 
6. Bộ nhớ ảo
Trước kia, định nghĩa Bộ nhớ ảo là công nghệ “phân vùng một không gian đĩa (HDD) để hỗ trợ  bộ nhớ vật lý (RAM)”. Nhưng hiện nay bạn có 2 lựa chọn về loại bộ nhớ ảo cho mình: trên đĩa cứng (swap disk) hoặc trực tiếp trên RAM (z-Ram). Theo ý kiến của tôi: nếu bạn chỉ có 1GB RAM thì nên sử dụng Swap Disk, còn nếu bạn có 2GB RAM hoặc dưới 4GB RAM thì bạn nên sử dụng z-Ram.* z-Ram :
z-Ram cài đặt rất đơn giản và rất an toàn. Đối với các phiên bản Ubuntu từ 12.04 trở lên, bạn sử dụng dòng lệnh dưới để cài đặt z-Ram
sudo apt-get install zram-config
Đối các phiên bản cũ hơn từ 12.04 trở xuống như 11.10, 11.04 LTS:
sudo apt-add-repository ppa:shnatsel/zram
sudo apt-get update
sudo apt-get install zramswap-enabler
Sau khi cài đặt z-Ram, chỉ cần khởi động lại và thưởng thức điều tuyệt vời mà z-Ram đem lại. Sử dụng lệnh “free -m” trên Terminal hoặc System Monitor để kiểm tra z-Ram đã hoạt động hay chưa.

tối ưu hóa ubuntu

* Swap Disk
So với z-Ram, Swap Disk cài đặt phức tạp hơn và kém an toàn hơn, vì có thể bạn phải phân vùng một không gian trên đĩa cứng ở định dạng linux-swap. Ngoài ra, bộ nhớ ảo loại Swap Disk sẽ chậm hơn rất nhiều so với bộ nhớ ảo loại z-Ram. Vì vậy, hãy cân nhắc để lựa chọn dạng bộ nhớ ảo này.
Có nhiều người khi phân vùng ổ cứng để cài đặt Ubuntu (dạng ext3,ext4), đã chọn cách tạo ngay phân vùng Linux Swap và Ubuntu sẽ tự động kích hoạt chế độ bộ nhớ ảo. Nhưng cũng có nhiều người không tạo phân vùng Swap khi cài đặt Ubuntu, họ tạo phân vùng  Swap bằng cách chỉnh kích thước các ổ cứng sau khi đã cài đặt xong Ubuntu – phương pháp này không an toàn. Một người bạn của tôi đã phải chờ đợi hơn 4 giờ vì anh ấy chia phân vùng Swap 2GB từ một phân vùng hơn NTFS 150GB ! – anh ấy đành phải chờ đợi vì nếu anh ta cancel thì có khả năng mất toàn bộ dữ liệu ở phân vùng NTFS đó. Vì lí do trên, tôi sẽ chỉ nói về cách tạo phân vùng Swap theo dạng file.
Ví dụ: bạn muốn tạo file Swap có dung lượng 1GB(1024 MB), chạy dòng lênh bên dưới

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024

Một file tên “swapfile” có dung lượng 1GB sẽ được tạo ra. Bạn có thể thay đổi dung lượng file swap, thay “1024” bằng dung lượng bạn mong muốn.
Dung lượng phân vùng Swap tối ưu thường được khuyến cáo là gấp 2 lần so với dung lượng RAM(?). Theo tôi điều này chưa chính xác, vì nó còn phụ thuộc vào thông số chuyển đổi RAM-SWAP ( swappiness) mà muốn.
Sau đó kích hoạt file đấy thành phân vùng Swap , sử dụng lệnh:

sudo mkswap /swapfile

Bật bộ nhớ ảo Swap mỗi khi vào Ubuntu:

sudo gedit /etc/fstab

Thêm dòng “/swapfileile swap sw 0  0” vào cuối file và save.

tối ưu hóa ubuntu

=== UPDATE ===

sau một thời gian dùng Ubuntu/Kubuntu nhiều người dùng cảm giác máy chạy nặng nề khi mở nhiều ứng dụng nhưng dung lượng RAM thì mới chỉ dùng 50-60%.

Nguyên nhân là do cơ chế phân bố giữa RAM và swap, liên quan đến một hằng số là swappiness, dùng để qui định lượng RAM tối đa có thể chạy khi bắt đầu sử dụng bộ nhớ swap thay thế. Hằng số swappiness có dãy hoạt động 0 đến 100 (%). Công thức tính dung lượng swap dùng chia sẽ với RAM như sau:
Tổng dung lượng RAM / 100 = A, A * hằng số swappiness (ví dụ 10%)
nguyenvanquan7826@nguyenvanquan7826-ThinkPad-Edge-13-IAL:~$ free -m

             total       used       free     shared    buffers     cached
Mem:          1869       1564        305          0         90        800
-/+ buffers/cache:        673       1195
Swap:         3262          0       3262

Dung lượng swap sẽ bắt đầu dùng khi 1896(RAM)/100 = 19*10% = 190 (Mb) -> như vậy bộ nhớ swap sẽ được dùng khi RAM còn 190Mb hay khi dung lượng RAM dùng đến ~1700 Mb.

Thông thường thì hằng số swappiness mặc định là 60%. Để kiểm tra hằng số swappiness trên máy bạn dùng dòng lệnh sau:

cat /proc/sys/vm/swappiness

Để thay đổi hằng số swappiness bạn dùng lệnh như sau:

 sudo gedit /etc/sysctl.conf 

Bạn tìm dòng chữ sau vm.swappiness, nếu không có thì chèn vào cuối file như sau (20 là % mà bạn muốn))

 vm.swappiness = 20 

Sau đó lưu file và khởi động lại máy, bạn dùng lệnh cat /proc/sys/vm/swappiness để kiểm tra lại thông số đã thay đổi chưa.
Theo tinhte.vn

Chúc các bạn thành công và sử dụng ubuntu một cách mượt mà nhất !