SAR (System Activity Report) là một công cụ mạnh mẽ dùng để giám sát các tài nguyên hệ thống Linux như CPU, bộ nhớ, thiết bị I/O, mạng, đĩa, tiến trình và nhiều thành phần khác. Việc sử dụng SAR giúp người quản trị nắm rõ tình trạng sử dụng tài nguyên, từ đó tối ưu hiệu suất hệ thống để xử lý nhiều yêu cầu hơn một cách hiệu quả. Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng SAR Linux một cách chi tiết nhất, giúp bạn dễ dàng theo dõi và phân tích hiệu suất hệ thống.
Những điểm chính
- Tại sao nên dùng SAR: Hiểu được lý do
sar
là công cụ giám sát hệ thống vượt trội nhờ khả năng ghi nhận dữ liệu lịch sử và theo dõi hiệu suất tài nguyên một cách chi tiết. - Cách cài đặt sar: Biết cách cài đặt
sar
nhanh chóng trên các bản phân phối Linux phổ biến như Ubuntu và RedHat. - Cú pháp lệnh sar: Làm quen với cú pháp cơ bản và cách sử dụng
sar
để truy xuất thông tin hệ thống một cách linh hoạt và chính xác. - Cách hiển thị và phân tích dữ liệu: Biết cách đọc, phân tích và xuất dữ liệu từ
sar
, hỗ trợ hiệu quả cho quá trình chẩn đoán và tối ưu hệ thống. - Ví dụ và tùy chọn hữu ích: Sử dụng thành thạo các tùy chọn của
sar
trong thực tế để giám sát CPU, RAM, I/O, mạng và nhiều chỉ số hệ thống khác. - Tự động hóa thu thập dữ liệu: Học cách cấu hình hệ thống tự ghi log hiệu suất theo lịch, giúp bạn dễ dàng truy vết nguyên nhân sự cố kể cả khi đã qua nhiều giờ.
- Tình huống sử dụng thực tế: Nhận biết các trường hợp cụ thể như nghẽn CPU, tăng tải bộ nhớ, I/O chậm hay đột biến lưu lượng mạng để áp dụng
sar
hiệu quả. - Biết thêm Vietnix là đơn vị cung cấp dịch vụ lưu trữ uy tín.
- Câu hỏi thường gặp: Giải đáp nhanh các thắc mắc thường gặp về cách cài đặt, sử dụng và xử lý dữ liệu với
sar
, giúp bạn tiết kiệm thời gian khi áp dụng thực tế.
Lý do nên dùng sar thay vì các công cụ giám sát khác
Trên Linux có nhiều lệnh giám sát hệ thống phổ biến như top
, htop
, vmstat
, iostat
, và free
. Tuy nhiên, SAR (System Activity Report) lại sở hữu những ưu điểm nổi bật khiến nó trở thành lựa chọn hàng đầu trong việc theo dõi hiệu suất và xử lý sự cố.

Một số tính năng nổi bật của sar Linux như sau:
- Thu thập dữ liệu lịch sử: Khác với
top
hayhtop
chỉ cung cấp số liệu theo thời gian thực, SAR ghi lại các snapshot để phân tích sau này, giúp theo dõi và đánh giá tình trạng hệ thống trong quá khứ. - Báo cáo toàn diện: SAR không chỉ giám sát CPU, bộ nhớ mà còn theo dõi hoạt động đĩa, mạng và I/O, trong khi các công cụ như
vmstat
chỉ tập trung vào quy trình và bộ nhớ. - Nhẹ và tự động: So với các công cụ giao diện đồ họa (GUI), SAR hoạt động với tài nguyên rất thấp, có thể chạy nền liên tục mà không ảnh hưởng đến hiệu suất hệ thống.
- Hỗ trợ tối ưu cho xử lý sự cố và phân tích xu hướng: Không giống
free
chỉ hiển thị dung lượng bộ nhớ hiện tại, SAR lưu trữ các log chi tiết, giúp người quản trị dễ dàng phát hiện và giải quyết các vấn đề về hiệu suất theo thời gian.
Cách cài đặt sar trên Linux
Để sử dụng sar
, trước tiên bạn cần cài đặt gói sysstat
chứa công cụ này. Mình sẽ hướng dẫn cách cài đặt sar
trên hai bản phân phối phổ biến: Ubuntu và RedHat Linux (9):
1. Cài đặt sar trên Ubuntu
Trên Ubuntu, bạn có thể cài đặt sar
rất đơn giản bằng cách chạy lệnh sau:
sudo apt install sysstat
Lệnh này sẽ cài đặt gói sysstat
bao gồm sar
. Sau khi cài xong, bạn có thể bắt đầu sử dụng sar
để theo dõi hoạt động hệ thống.
2. Cài đặt sar trên RedHat Linux (9)
Với RedHat Linux 9, việc cài đặt cũng tương tự nhưng sử dụng trình quản lý gói dnf
:
sudo dnf install sysstat
Lệnh này sẽ tải và cài đặt sysstat
, trong đó có công cụ sar
. Sau khi cài đặt xong, bạn có thể sử dụng sar
để kiểm tra thông số hiệu suất trên hệ thống RedHat của mình.
Cú pháp lệnh sar trong Linux
Lệnh sar
trong Linux có cú pháp cơ bản như sau:
sar -[options] time_interval number_of_times_to_display
Trong đó:
options
: Tham số tùy chọn giúp bạn chỉ định loại thông tin hệ thống muốn thu thập (ví dụ: CPU, bộ nhớ, I/O,…).time_interval
: Khoảng thời gian (tính bằng giây) giữa các lần lấy số liệu.number_of_times_to_display
: Số lần lặp lại việc lấy số liệu theo khoảng thời gian đã chỉ định.
Cách hiển thị và phân tích dữ liệu thu thập từ SAR Linux
SAR (System Activity Reporter) lưu lại các bản ghi hoạt động hệ thống, bao gồm CPU, bộ nhớ, I/O và mạng. Dữ liệu này có thể được phân tích sau để đánh giá hiệu suất và phát hiện sự cố. Dưới đây là các cách phổ biến để hiển thị và phân tích dữ liệu từ SAR:
- Xem dữ liệu mới nhất tự động lưu trữ: Bạn dùng lệnh
sar -A
để hiển thị toàn bộ báo cáo hoạt động hệ thống gần nhất, bao gồm thông số CPU, bộ nhớ, I/O và mạng. - Đọc dữ liệu hệ thống của ngày hôm trước: Khi cần kiểm tra hiệu suất hoặc sự cố của ngày trước, bạn dùng:
sar -f /var/log/sysstat/sa$(date --date='yesterday' +%d)
- Trích xuất thông số CPU từ dữ liệu cũ: Ví dụ, để lấy thông tin CPU được ghi ngày 10 trong tháng, bạn dùng:
sar -u -f /var/log/sysstat/sa10
- Theo dõi sử dụng mạng theo thời gian: Bạn dùng lệnh như bên dưới. Lệnh này hiển thị thông tin sử dụng mạng trên các thiết bị, giúp phát hiện các đột biến lưu lượng bất thường.
sar -n DEV 2 5
- Xuất dữ liệu để phân tích sâu hơn: Nếu muốn lưu dữ liệu SAR vào file để phân tích bằng Excel, Grafana hoặc script tùy chỉnh, bạn dùng lệnh:
sar -A -o output_file
File này sẽ chứa toàn bộ dữ liệu để bạn dễ dàng trực quan hóa hoặc xử lý sau:
Ví dụ và tùy chọn sử dụng sar Linux
Dưới đây là các ví dụ cụ thể về cách sử dụng lệnh sar
cùng với các tùy chọn phổ biến giúp bạn theo dõi và phân tích hiệu suất hệ thống Linux hiệu quả:
1. Khởi động dịch vụ sar
Trước khi sử dụng sar
, bạn cần đảm bảo dịch vụ sysstat đã được bật:
sudo systemctl start sysstat.service
2. Xem trợ giúp lệnh sar
Để xem nhanh các tùy chọn của sar
, bạn dùng lệnh:
sar --help
3. Kiểm tra phiên bản sar
Xác nhận phiên bản hiện tại đang sử dụng:
sar -V
4. Thống kê sử dụng CPU
Báo cáo chi tiết CPU 5 lần, mỗi lần cách nhau 2 giây. Nếu khoảng thời gian (interval) là 0, sar sẽ báo cáo trung bình từ lúc hệ thống khởi động:
sar -u 2 5
5. Thống kê sử dụng bộ nhớ
Báo cáo lượng bộ nhớ đã dùng, còn trống, cache và buffer, lặp lại 3 lần với khoảng 1 giây:
sar -r 1 3
6. Thống kê hệ thống tập tin (file system)
Báo cáo trạng thái các hệ thống tập tin được mount, 5 lần, cách nhau 2 giây:
sar -F 2 5
7. Thống kê thiết bị khối (block devices)
Báo cáo chi tiết thiết bị khối, 3 lần, cách nhau 1 giây:
sar -d 1 3
8. Độ dài hàng đợi xử lý và tải trung bình
Báo cáo độ dài hàng đợi, số tiến trình và tải trung bình:
sar -q 2 5
9. CPU usage cho từng nhân cụ thể
Báo cáo sử dụng CPU cho nhân số 1, 3 lần, mỗi lần 1 giây:
sar -P 1 1 3
10. Thống kê mạng
Báo cáo chi tiết giao diện mạng, tốc độ, lưu lượng TCP, ICMP (loại trừ giao diện loopback lo
):
sar -n DEV 1 3 | egrep -v lo
11. Thống kê tiến trình, thread kernel, i-node và bảng file
sar -v 1 3
12. Thống kê swap (bộ nhớ ảo)
sar -S 1 3
13. Thống kê hoạt động I/O
Bao gồm số giao dịch, đọc và ghi trên giây:
sar -b 1 3
14. Thống kê chuyển đổi ngữ cảnh (context switching) và tạo tiến trình
Báo cáo chuyển đổi ngữ cảnh, tiến trình tạo mới và swap:
sar -w 1 3
15. Thống kê phân trang (paging)
Bao gồm số KB được phân trang vào/ra, pagefaults mỗi giây:
sar -B 2 5
Tự động hóa thu thập dữ liệu sar
Thay vì chạy thủ công, bạn có thể cấu hình sar
tự động thu thập và lưu trữ dữ liệu:
- Kích hoạt thu thập dữ liệu khi khởi động:
sudo systemctl enable sysstat
- Khởi động lại dịch vụ:
sudo systemctl restart sysstat
- Thay đổi tần suất thu thập dữ liệu trong cron:
sudo nano /etc/cron.d/sysstat
Mở file /etc/cron.d/sysstat
, đổi lịch ghi dữ liệu từ 10 phút mặc định sang 5 phút:
*/5 * * * * root /usr/lib/sysstat/sa1 1 1
- Lập lịch báo cáo tổng kết hàng ngày:
@daily root /usr/lib/sysstat/sar -A > /var/log/sysstat/summary_report_$(date +\%F).log
Tình huống thực tế khi SAR phát huy hiệu quả
SAR là công cụ mạnh mẽ giúp giám sát hiệu suất hệ thống Linux trong nhiều tình huống thực tế như sau:
- Phát hiện nghẽn CPU trên máy chủ web: Khi server thường xuyên chạy chậm, bạn có thể dùng lệnh sau để theo dõi hoạt động CPU trong 5 lần, mỗi lần cách nhau 1 giây:
sar -u 1 5
Lệnh này sẽ giúp phát hiện các đỉnh tải CPU, từ đó biết được liệu có tiến trình nền hoặc ứng dụng nào đang gây tắc nghẽn CPU hay không.
- Theo dõi sử dụng bộ nhớ trong các sự kiện có lưu lượng cao: Nếu cửa hàng online bị sập khi có nhiều khách hàng, lệnh sau giúp theo dõi bộ nhớ trong thời gian thực (theo 5 giây, lặp lại 10 lần):
sar -r 5 10
Dữ liệu này hỗ trợ phát hiện các tiến trình gây rò rỉ bộ nhớ hoặc sử dụng bộ nhớ quá mức.
- Phát hiện vấn đề hiệu suất đĩa I/OL Khi truy vấn database chậm hơn bình thường, bạn kiểm tra hoạt động đĩa với lệnh:
sar -d 2 5
Lệnh này ghi nhận hoạt động đọc/ghi của đĩa, giúp phát hiện các điểm nghẽn I/O.
- Phân tích đột biến lưu lượng mạng: Nếu CPU và RAM bình thường mà server vẫn chậm, bạn kiểm tra lưu lượng mạng bằng:
sar -n DEV 1 5
Vietnix – Nhà cung cấp dịch vụ lưu trữ chất lượng cao
Vietnix là nhà cung cấp dịch vụ lưu trữ chất lượng cao. Dịch vụ thuê VPS tại Vietnix với hạ tầng máy chủ hiện đại, 100% ổ cứng SSD giúp đảm bảo tốc độ truy cập nhanh và ổn định. VPS Linux tại Vietnix mang đến hiệu suất vượt trội, tính ổn định và bảo mật cao, cùng khả năng quản trị linh hoạt qua giao diện thân thiện. Với hệ thống backup tự động và cơ chế phân quyền chặt chẽ, Vietnix cam kết mang đến giải pháp lưu trữ an toàn, tối ưu chi phí cho mọi doanh nghiệp. Liên hệ ngay để được tư vấn chi tiết!
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Câu hỏi thường gặp
Sar có theo dõi được hiệu suất trên hệ thống container như Docker hay LXC không?
SAR có thể theo dõi hiệu suất hệ thống khi chạy Docker hoặc LXC, nhưng chỉ ở cấp độ máy chủ (host), không thể hiển thị chi tiết hiệu suất từng container. Nếu cần theo dõi tài nguyên riêng cho từng container, nên dùng thêm công cụ như docker stats, ctop hoặc tích hợp cadvisor + Prometheus + Grafana để giám sát chuyên sâu.
Cách xem biểu đồ hiệu suất từ dữ liệu thu thập bởi sar? Có công cụ hỗ trợ trực quan nào không?
Để xem biểu đồ hiệu suất từ dữ liệu thu thập bởi sar, bạn có thể dùng các công cụ sau:
1. ksar (GUI Java): Công cụ phổ biến nhất, cho phép đọc file /var/log/sa/saXX và hiển thị biểu đồ CPU, RAM, I/O,… Dễ dùng, phù hợp cá nhân hoặc server nhỏ.
2. sadf + Excel/Google Sheets: Dùng sadf để xuất dữ liệu sar ra file .csv, sau đó vẽ biểu đồ bằng công cụ bảng tính.
3. Grafana (nâng cao): Tích hợp sar với InfluxDB hoặc Prometheus thông qua Telegraf, sau đó kết nối với Grafana để vẽ biểu đồ thời gian thực. Phù hợp hệ thống nhiều VPS.
Lời kết
SAR là một công cụ mạnh mẽ và đáng tin cậy giúp bạn giám sát hiệu suất hệ thống Linux một cách toàn diện – từ CPU, RAM, disk I/O cho đến network. Khi nắm vững cách sử dụng sar, bạn sẽ dễ dàng phát hiện, phân tích và khắc phục các vấn đề về tài nguyên trong môi trường thực tế. Hy vọng qua bài viết này, bạn đã hiểu rõ cách triển khai và tận dụng tối đa sức mạnh của lệnh sar trong công việc quản trị hệ thống.