Lệnh glances trong Linux là công cụ giám sát hệ thống đa năng, cho phép bạn quan sát CPU, RAM, disk, network, tiến trình và nhiều chỉ số khác trên một dashboard duy nhất. Từ kinh nghiệm vận hành hàng trăm server và VPS, mình thường dùng Glances để kiểm tra nhanh điểm nghẽn tài nguyên trước khi đi sâu với các công cụ chuyên biệt. Trong bài viết này, mình sẽ tập trung vào cách cài đặt Glances trên các bản phân phối Linux, các tùy chọn và phím tắt quan trọng, cùng một số kịch bản áp dụng trong giám sát và tối ưu hệ thống thực tế.
Những điểm chính
- Quan điểm của mình: Với các hệ thống Linux và VPS cần theo dõi thường xuyên, việc sử dụng thành thạo Glances giúp bạn nhanh chóng nắm bắt được trạng thái tài nguyên tổng thể ngay trong terminal, trước khi cần triển khai các giải pháp giám sát phức tạp và tốn kém hơn.
- Khái niệm: Hiểu rõ glances là một công cụ giám sát hệ thống đa nền tảng, giúp bạn có một dashboard toàn diện về tài nguyên ngay trong terminal.
- Cách cài đặt: Nắm vững các bước cài đặt glances trên các hệ điều hành phổ biến và cách cài đặt qua pip để có phiên bản mới nhất, giúp bạn nhanh chóng thiết lập và bắt đầu sử dụng.
- Cú pháp và các tùy chọn: Nắm vững cú pháp cơ bản và các tùy chọn quan trọng, giúp bạn kiểm soát chi tiết cách thức giám sát, từ việc chạy ở chế độ client-server đến xuất dữ liệu.
- Các kịch bản thực tế: Nắm vững các ví dụ thực tế, giúp bạn áp dụng glances một cách linh hoạt để giám sát cục bộ, từ xa hoặc kết hợp với các lệnh khác để lọc và phân tích dữ liệu.
- Các mẹo sử dụng nâng cao: Tìm hiểu các mẹo hữu ích như tối ưu hóa trong môi trường tải cao và tích hợp với các hệ thống giám sát khác, giúp bạn làm việc với glances một cách hiệu quả và chuyên nghiệp hơn.
- Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến glances Linux.
Glances Linux là gì?
Glances Linux là một công cụ giám sát hệ thống đa nền tảng được viết bằng ngôn ngữ lập trình Python và sử dụng thư viện psutil để thu thập dữ liệu phần cứng. Công cụ này cung cấp một dashboard dạng giao diện chữ để hiển thị theo thời gian thực các thông số như CPU, RAM, swap, dung lượng đĩa, I/O, network, tiến trình và các cảm biến của hệ thống.
Công cụ này có thể chạy trực tiếp trong terminal, hoạt động ở chế độ server–client hoặc web server. Đồng thời, Glances hỗ trợ xuất dữ liệu ra nhiều backend (như CSV, InfluxDB, Prometheus), cung cấp RESTful API, XML-RPC và cho phép tùy chỉnh cấu hình hiển thị để phù hợp với nhu cầu giám sát máy chủ Linux.

Các tính năng nổi bật của lệnh Glances
So với nhiều công cụ giám sát cơ bản khác, Glances mang lại sự tiện dụng và trực quan nhờ các tính năng cốt lõi sau:
- Hỗ trợ giám sát toàn diện: Phần mềm cho phép bạn theo dõi từ CPU, RAM, Disk I/O, Network cho đến nhiệt độ phần cứng và các container Docker đang hoạt động.
- Hệ thống cảnh báo bằng màu sắc: Glances tự động đổi màu các thông số để cảnh báo mức độ sử dụng tài nguyên. Màu xanh lá báo hiệu bình thường, màu xanh dương là cần chú ý, màu tím thể hiện mức cảnh báo và màu đỏ là mức nguy hiểm.
- Tính tương tác cao: Người dùng có thể sử dụng các phím tắt trực tiếp trên terminal để linh hoạt bật, tắt hoặc tùy biến các luồng dữ liệu theo ý muốn.
- Hỗ trợ đa nền tảng: Công cụ này hoạt động trơn tru trên mọi hệ điều hành phổ biến như GNU/Linux, Windows, macOS và FreeBSD.

Cài đặt Glances trên các bản phân phối Linux
Cài đặt Glances trên Ubuntu/Debian
Trên Ubuntu/Debian, bạn có thể cài Glances trực tiếp từ kho APT với phiên bản ổn định do distro cung cấp.
Bước 1: Bạn cập nhật danh sách package để hệ thống lấy thông tin mới nhất bằng lệnh:
sudo apt updateBước 2: Bạn cài đặt Glances từ repository mặc định của hệ điều hành với lệnh:
sudo apt install glances -yBước 3: Xác nhận việc cài đặt bằng cách kiểm tra phiên bản hoặc thử khởi chạy Glances.
glances --versionMẹo từ chuyên gia: Phiên bản Glances trong kho APT thường rất ổn định nhưng có thể không phải là phiên bản mới nhất. Nếu bạn cần các tính năng tiên tiến hoặc các bản vá lỗi gần đây, hãy cân nhắc cài đặt Glances thông qua pip (trình quản lý gói của Python).
Cài đặt Glances trên CentOS/RHEL
Với CentOS/RHEL và các bản tương thích, Glances thường được cung cấp qua yum/dnf (có thể yêu cầu bật EPEL trên các bản cũ).
Bước 1: Trên các hệ dùng yum (CentOS/RHEL đời cũ), bạn cài đặt thư viện epel-release và Glances trực tiếp từ kho RPM:
sudo yum install epel-release -y
sudo yum install glances -yBước 2: Trên các hệ dùng dnf (CentOS/RHEL đời mới, Rocky, AlmaLinux), bạn sử dụng dnf để cài Glances nếu package có sẵn.
sudo dnf install glances -yBước 3: Sau khi cài xong, bạn kiểm tra lại bằng cách xem phiên bản hoặc khởi chạy Glances từ terminal.
glances --versionCài đặt Glances bằng pip và module mở rộng glances
Nếu bạn muốn dùng phiên bản mới nhất hoặc bật đầy đủ các tính năng (web UI, export module…), bạn có thể cài Glances thông qua pip và module mở rộng glances.
Bước 1: Bạn cài đặt Python pip (nếu chưa có), ví dụ trên Ubuntu/Debian.:
sudo apt install python3-pip -yBước 2: Bạn cài Glances từ PyPI bằng pip để lấy phiên bản mới hơn so với repository distro.
pip3 install glancesBước 3: Để bật thêm các tính năng mở rộng (web interface, export tới InfluxDB, Prometheus…), bạn cài gói mở rộng glances[all] hoặc glances[web] tuỳ nhu cầu.
pip3 install "glances[all]"Bước 4: Sau khi cài bằng pip, đảm bảo đường dẫn cài đặt pip (thường là ~/.local/bin) đã nằm trong biến PATH để có thể gọi glances trực tiếp từ shell.
echo 'PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
source ~/.bashrcLỗi thường gặp: Lỗi phổ biến nhất sau khi cài bằng pip là “command not found: glances”. Nguyên nhân là do thư mục ~/.local/bin chưa được thêm vào biến môi trường PATH. Hãy đảm bảo bạn đã thực hiện đúng Bước 4 để khắc phục.
Cài đặt Glances bằng Snap hoặc Script tự động
Trên các hệ điều hành có hỗ trợ gói Snap (tiêu biểu như Ubuntu), bạn hãy chạy lệnh sau để cài đặt công cụ nhanh chóng:
sudo snap install glancesNgoài ra, bạn cũng có thể sử dụng script cài đặt tự động do chính nhà phát triển cung cấp bằng lệnh curl:
curl -L https://bit.ly/glances | /bin/bashCú pháp và các tùy chọn quan trọng của Glances
Cú pháp chuẩn của lệnh glances
Lệnh glances được gọi theo dạng cú pháp chuẩn gồm tên lệnh và danh sách options đi kèm, cho phép bạn bật debug, chọn file cấu hình, kích hoạt web UI, xuất dữ liệu hoặc tinh chỉnh các plugin hiển thị. Cú pháp tổng quát:
glances [OPTIONS]Các tùy chọn của lệnh glances
Dưới đây là bảng tóm tắt một số các tùy chọn thường gặp của lệnh glances:
| Tùy chọn | Mô tả | Ví dụ lệnh | Giải thích ngắn gọn |
|---|---|---|---|
-w | Khởi chạy giao diện Web trên port 61208 | glances -w | Bật Web Dashboard, truy cập qua trình duyệt tại http://<server_ip>:61208. |
-s | Chạy Glances ở chế độ Server để client kết nối | glances -s | Đặt node hiện tại làm server Glances, cho phép client từ xa kết nối lấy metrics. |
-c <IP> | Kết nối đến Glances Server từ xa | glances -c 192.168.1.10 | Máy client dùng Glances kết nối tới server có IP tương ứng để xem hệ thống từ xa. |
-t <SECOND> | Tùy chỉnh tốc độ refresh | glances -t 2 | Đặt chu kỳ làm mới dữ liệu là 2 giây thay vì giá trị mặc định. |
--export <type> | Xuất dữ liệu sang CSV, InfluxDB, Prometheus… | glances --export influxdb | Gửi metrics từ Glances sang backend InfluxDB (hoặc loại khác) để lưu trữ/giám sát. |
Các phím tắt tương tác trong Glances
Khi màn hình Glances đang hiển thị trên terminal, người dùng có thể sử dụng các phím tắt sau để bật/tắt các module nhanh chóng:
| Nhóm chức năng | Phím tắt | Mô tả chi tiết |
|---|---|---|
| Sắp xếp quy trình | c | Sắp xếp theo mức sử dụng CPU |
m | Sắp xếp theo mức sử dụng RAM | |
p | Sắp xếp theo tên quy trình | |
i | Sắp xếp theo tốc độ I/O | |
u | Sắp xếp theo Người dùng | |
a | Tự động sắp xếp quy trình | |
| Hiển thị / Ẩn thông tin | d | Ẩn/hiện thống kê đĩa (Disk I/O) |
f | Ẩn/hiện thống kê hệ thống tệp | |
n | Ẩn/hiện thống kê mạng | |
s | Ẩn/hiện thống kê cảm biến | |
y | Ẩn/hiện thống kê hddtemp | |
t | Xem chi tiết I/O mạng | |
| Quản lý hệ thống | 1 | Chuyển đổi hiển thị CPU (Tổng quát hoặc từng nhân) |
l | Hiển thị/ẩn nhật ký cảnh báo | |
w | Xóa các cảnh báo hiện tại | |
x | Xóa cảnh báo hệ thống tệp và cảnh báo cũ | |
f | Reset dữ liệu thống kê | |
| Thoát và hỗ trợ | h | Hiển thị/ẩn màn hình trợ giúp |
q / ESC / Ctrl+C | Thoát khỏi chương trình Glances |
Các kịch bản thực tế khi dùng Glances trên Linux
Giám sát hệ thống cục bộ
Khi cần xem nhanh toàn bộ trạng thái hệ thống trên chính máy đang thao tác, bạn có thể chạy Glances ở chế độ mặc định trên terminal.
Bước 1: Bạn khởi chạy Glances ở chế độ standalone để hiển thị dashboard realtime trên máy cục bộ.
glances
Bước 2: Bạn quan sát các khu vực CPU, load, memory, swap, disk, network, processes hiển thị trên cùng một màn hình, kết hợp với các phím tắt của Glances (như sắp xếp theo CPU, RAM, I/O) để xác định khu vực đang sử dụng tài nguyên cao.
Giám sát từ xa với chế độ Client/Server
Khi có nhiều máy chủ và muốn tập trung giám sát từ một điểm, bạn có thể sử dụng Glances ở chế độ server trên node cần theo dõi và client trên máy quản trị.
Bước 1: Trên máy chủ cần giám sát, bạn chạy Glances ở chế độ server để mở cổng cho client kết nối.
glances -sBước 2: Trên máy client, bạn kết nối tới Glances server bằng địa chỉ IP của máy chủ, ví dụ IP 10.0.0.5:
glances -c 10.0.0.5Bước 3: Bạn quan sát dashboard Glances trên máy client và lần lượt chuyển đổi giữa các server (nếu cài đặt nhiều endpoint) để theo dõi tình trạng từng node mà không cần SSH từng máy.
Mẹo từ chuyên gia: Khi chạy Glances ở chế độ server (-s), hệ thống sẽ lắng nghe trên cổng 61209. Hãy đảm bảo bạn đã mở port này trên firewall (ví dụ: UFW, firewalld) của máy chủ để máy client có thể kết nối thành công.
Mở Web Dashboard Glances và xử lý lỗi trắng màn hình
Khi muốn giám sát qua trình duyệt, Glances có thể chạy ở chế độ web server. Trong một số trường hợp Web UI bị trắng trang, bạn cần xử lý phiên bản và thư viện phụ thuộc.
Bước 1: Trên máy chủ, bạn khởi chạy Glances ở chế độ Web UI trên cổng mặc định 61208.
glances -w
Bước 2: Từ trình duyệt, bạn truy cập địa chỉ web của Glances để xem dashboard.
http://<server_ip>:61208
Bước 3: Nếu giao diện web bị trắng (thường do lỗi glances.js hoặc phiên bản không tương thích), bạn kiểm tra và nâng cấp Glances và Bottle bằng pip.
pip install --upgrade glances
pip install --upgrade bottle
Bước 4: Sau khi nâng cấp, bạn chạy lại glances -w và refresh trình duyệt để kiểm tra Web UI đã hiển thị đúng hay chưa.
Kết hợp Glances với grep để lọc process cần phân tích
Khi cần tập trung vào một nhóm tiến trình cụ thể (ví dụ Java, Nginx…), bạn có thể xuất dữ liệu process ra stdout rồi dùng grep để lọc.
glances --stdout process | grep javaTrong đó:
glances --stdout process: Xuất thông tin tiến trình ra định dạng văn bản thô.| grep java: Chỉ lấy các dòng liên quan đến ứng dụng cần giám sát, ví dụ như java.
Dựa trên kết quả lọc, bạn xác định PID, mức sử dụng CPU, RAM và các thông tin khác của nhóm process liên quan để tiếp tục phân tích hoặc tối ưu ứng dụng.
Phân tích mức tải CPU từ Glances với awk
Glances có thể xuất số liệu CPU dưới dạng thô qua stdout, sau đó bạn dùng awk để trích xuất phần cần thiết phục vụ script hoặc báo cáo.
glances --stdout cpu | awk -F"'total': " '{print $2}' | awk -F, '{print $1}'Trong đó:
glances --stdout cpu: In thông tin CPU ra định dạng cấu trúc dữ liệu cơ bản.| awk -F"'total': " '{print $2}' | awk -F, '{print $1}': Trích xuất chính xác trường total thể hiện mức sử dụng CPU tổng.


Bạn có thể dùng kết quả này làm input cho các script giám sát tuỳ chỉnh, alarm, log hoặc đưa vào hệ thống thu thập số liệu khác để vẽ biểu đồ và phân tích xu hướng.
Theo dõi băng thông mạng của từng interface
Khi hệ thống có nhiều interface, việc chỉ tập trung vào một NIC quan trọng (như eth0) sẽ giúp bạn phân tích băng thông hiệu quả hơn và giảm nhiễu thông tin.
Bước 1: Bạn xuất thống kê network từ Glances ra stdout để lấy dữ liệu dạng text cho tất cả interface và kết hợp với grep để lọc riêng interface cần theo dõi, ví dụ eth0.
glances --stdout network | grep eth0
Bạn quan sát các giá trị về băng thông (byte/packet gửi, nhận) tương ứng với eth0 theo thời gian, từ đó đánh giá mức sử dụng network trên interface chính và phát hiện các giai đoạn tăng tải bất thường.
Mẹo nâng cao với Glances cho sysadmin
Kích hoạt auto-throttling và thiết lập refresh interval phù hợp
Glances có cơ chế tự điều chỉnh tần suất cập nhật dựa trên mức tải, nhưng bạn vẫn nên thiết lập khoảng refresh phù hợp để tránh tạo thêm áp lực cho hệ thống.
Bước 1: Bạn chọn khoảng thời gian refresh hợp lý (ví dụ 5 giây) để giảm số lần cập nhật màn hình so với giá trị mặc định.
glances -t 5Bước 2: Bạn quan sát trải nghiệm sử dụng và mức độ chiếm CPU của chính Glances (thông qua phần process) để đánh giá xem interval 5 giây đã đủ mượt và không gây áp lực cho hệ thống hay chưa. Trong môi trường tải rất cao, bạn có thể tăng interval lên 10 giây hoặc hơn, kết hợp với auto-throttling tích hợp để Glances tự giảm tần suất refresh khi tài nguyên bị chiếm dụng nhiều, giúp hạn chế tác động đến hiệu suất chung.
Tối ưu Glances trong môi trường tải cao
Trên các máy chủ bận rộn, việc tắt bớt plugin không cần thiết và điều chỉnh cách xuất dữ liệu sẽ giúp Glances nhẹ hơn nhưng vẫn cung cấp đủ thông tin quan trọng.
Bước 1: Bạn liệt kê các module (plugin và export) hiện có để xác định những thành phần đang được bật.
glances --modules-listBước 2: Bạn tắt các plugin không sử dụng thường xuyên, ví dụ sensors hoặc RAID, để giảm lượng dữ liệu cần thu thập và hiển thị.
glances --disable-plugin sensorsBước 3: Nếu cần bật lại một plugin quan trọng (như connections), bạn dùng flag tương ứng để đảm bảo vẫn có đủ số liệu cần thiết.
glances --enable-plugin connectionsBước 4: Khi sử dụng chế độ xuất dữ liệu (–export), chỉ bật những backend thực sự cần thiết (ví dụ chỉ InfluxDB hoặc Prometheus), tránh export đồng thời quá nhiều nơi gây tăng I/O và CPU.
glances -t 5 --export influxdbỨng dụng Glances trong giám sát, export sang InfluxDB/Prometheus
Glances có thể đóng vai trò nguồn dữ liệu cho các hệ thống giám sát như InfluxDB, Prometheus và Grafana, giúp bạn xây dựng dashboard dài hạn mà không phải tự viết agent riêng.
Bước 1: Bạn chuẩn bị sẵn backend lưu trữ metrics, ví dụ InfluxDB hoặc Prometheus, và cấu hình endpoint/credentials theo tài liệu của từng hệ thống.
Bước 2: Khởi chạy Glances với tuỳ chọn export trỏ tới backend cần dùng, bạn có thể kết hợp với tham số -t để đặt khoảng gửi dữ liệu phù hợp.
glances -t 5 --export influxdbBước 3: Trong Grafana hoặc nền tảng dashboard khác, bạn thêm data source tương ứng (InfluxDB hoặc Prometheus), sau đó xây dựng các panel hiển thị CPU, RAM, I/O, network dựa trên series do Glances gửi vào.
Bước 4: Kết hợp log và metrics từ Glances trong các buổi review định kỳ (weekly/monthly) để đánh giá xu hướng tải, phát hiện sớm điểm nghẽn và lập kế hoạch nâng cấp tài nguyên cho hệ thống.
Thiết lập Glances chạy ngầm như một Systemd Service
Để hệ thống tự động duy trì giao diện giám sát qua Web mà không cần bật terminal, bạn nên tạo một systemd service.
Bước 1: Bạn khởi tạo file cấu hình service bằng text editor:
sudo nano /etc/systemd/system/glances.serviceBước 2: Bạn dán đoạn mã cấu hình dưới đây vào file để tự động khởi chạy Web UI:
[Unit]
Description=Glances Web Service
After=network.target
[Service]
ExecStart=/usr/local/bin/glances -w
Restart=on-abort
RemainAfterExit=yes
[Install]
WantedBy=multi-user.targetBước 3: Cuối cùng, bạn tải lại systemd và cho phép dịch vụ tự bật cùng hệ điều hành:
sudo systemctl enable glances.service
sudo systemctl start glances.serviceCâu hỏi thường gặp
Glances Linux có lưu cấu hình tuỳ chỉnh riêng theo từng server được không?
Có, Glances hỗ trợ file cấu hình glances.conf để tuỳ chỉnh cách hiển thị, ngưỡng cảnh báo, plugin và backend export cho từng môi trường. Trên Linux, bạn có thể đặt file này tại ~/.config/glances/glances.conf (cho user hiện tại) hoặc /etc/glances/glances.conf (áp dụng hệ thống), sau đó Glances sẽ đọc cấu hình này mỗi khi khởi chạy.
Chạy glances Linux ở chế độ server/web có cần mở port trên firewall không?
Có, khi chạy Glances ở chế độ server hoặc web UI, bạn cần mở port tương ứng trên firewall để client hoặc trình duyệt có thể truy cập được dashboard. Mặc định, Web UI sử dụng cổng 61208, vì vậy bạn cần cho phép port này trên firewalld hoặc UFW.
Làm sao giảm tác động của glances Linux lên tài nguyên hệ thống khi giám sát dài hạn?
Để giảm overhead, bạn có thể tăng -t (refresh interval), tắt bớt plugin không cần thiết và giới hạn số backend export đang hoạt động. Ngoài ra, nên dùng Glances chủ yếu cho việc giám sát và thu thập metrics, còn việc hiển thị biểu đồ, lịch sử dài hạn thì giao cho các nền tảng như Grafana thông qua InfluxDB/Prometheus để tránh Glances phải xử lý quá nhiều.
Việc nắm bắt rõ cơ chế hoạt động, cú pháp cũng như các mẹo tối ưu của lệnh glances Linux sẽ giúp bạn dễ dàng tích hợp công cụ này vào quy trình làm việc hằng ngày. Dựa trên các lệnh mẫu và kịch bản đã triển khai, bạn hoàn toàn có thể biến Glances thành một thành phần quan trọng trong bộ công cụ monitoring cho hạ tầng Linux hiện tại và tương lai.




