NỘI DUNG

Banner blog lễ 30.4 và 1.5

Sysstat trên Linux là gì? Cách cài đặt và sử dụng giám sát hiệu suất hệ thống toàn diện

Hưng Nguyễn

Đã kiểm duyệt nội dung

Ngày đăng:12/05/2025
Lượt xem

Đánh giá

Sysstat trên Linux là bộ công cụ giúp theo dõi và phân tích hiệu suất hệ thống một cách chính xác và hiệu quả. Bài viết này sẽ hướng dẫn bạn cách cài đặt Sysstat chi tiết trên Ubuntu và CentOS, đồng thời giới thiệu các lệnh quan trọng như pidstat, mpstatsar để giám sát CPU, tiến trình và I/O. Bạn cũng sẽ nắm được cách ứng dụng Sysstat vào theo dõi hệ thống thực tế.

Sysstat trên Linux là gì?

Sysstat là công cụ mạnh giúp người dùng giám sát hiệu suất và tài nguyên của hệ thống Linux như CPU, RAM, I/O,… và các hoạt động khác của hệ thống. Thêm vào đó, sysstat là phần mềm mã nguồn mở và miễn phí, gồm nhiều công cụ hữu ích để theo dõi và phân tích hệ thống. Một số công cụ trong sysstat bao gồm:

  • iostat: Kiểm tra thống kê CPU và I/O cho các thiết bị và phân vùng.
  • vmstat: Báo cáo thống kê về bộ nhớ ảo.
  • mpstat: Thống kê chi tiết về hoạt động của CPU.
  • pidstat: Giám sát các tiến trình riêng lẻ, cùng với thông tin về CPU và bộ nhớ.
  • sar: Lưu và báo cáo chi tiết về tài nguyên hệ thống.
  • sadf: Hiển thị dữ liệu từ sar dưới định dạng CSV hoặc XML..
Sysstat là công cụ mạnh giúp người dùng giám sát hiệu suất và tài nguyên của hệ thống Linux
Sysstat là công cụ mạnh giúp người dùng giám sát hiệu suất và tài nguyên của hệ thống Linux

Cách cài đặt sysstat chi tiết

Sysstat có sẵn trong hầu hết các bản phân phối Linux. Để kiểm tra nếu sysstat đã được cài đặt, bạn có thể dùng lệnh sau:

[root@localhost ~]# sar -V
sysstat version 10.1.5
(C) Sebastien Godard (sysstat <at> orange.fr)

Nếu sysstat chưa có sẵn, bạn có thể cài đặt dễ dàng:

sudo apt-get -y install sysstat
sudo yum -y install sysstat

Lệnh pidstat trong Linux

Lệnh pidstat được sử dụng để giám sát tài nguyên mà các tiến trình (hoặc các luồng con) đang sử dụng trên hệ thống Linux. Lệnh này giúp bạn theo dõi hiệu suất CPU, bộ nhớ, I/O theo thời gian thực (real time)cho từng tiến trình.

Cú pháp cơ bản:

pidstat [tùy chọn] [khoảng thời gian] [số lần]

Một số ví dụ phổ biến:

  • Ví dụ 1: Theo dõi tất cả tiến trình đang hoạt động
pidstat

Kết quả sẽ hiển thị các cột thông tin như:

  • PID: ID của tiến trình
  • %usr: % CPU dùng ở cấp người dùng
  • %system: % CPU dùng ở cấp hệ thống
  • %guest: % CPU dùng cho máy ảo (nếu có)
  • %CPU: Tổng % CPU sử dụng
  • CPU: CPU mà tiến trình đang chạy trên đó
  • Command: Tên tiến trình
  • Ví dụ 2: Theo dõi tất cả tiến trình, kể cả không hoạt động
pidstat -p ALL
# Lệnh này hiển thị cả các tiến trình không có hoạt động CPU tại thời điểm hiện tại.
  • Ví dụ 3: Theo dõi hoạt động I/O
pidstat -d 1
  • -d: hiển thị thông tin đọc/ghi đĩa theo tiến trình
  • 1: cập nhật mỗi giây

Các cột bao gồm:

  • kB_rd/s: tốc độ đọc (KB/s)
  • kB_wr/s: tốc độ ghi (KB/s)
  • kB_ccwr/s: tốc độ ghi bị hủy qua cache
  • Ví dụ 4: Theo dõi CPU theo từng luồng (thread) của một tiến trình cụ thể
pidstat -t -p 674 2 3
  • -t: hiển thị theo luồng (thread)
  • -p 674: theo dõi tiến trình có PID = 674
  • 2 3: lặp lại 3 lần, mỗi lần cách nhau 2 giây
  • Ví dụ 5: Theo dõi bộ nhớ và các lỗi trang (page faults)
pidstat -rh 2 4
  • -r: hiển thị thông tin bộ nhớ
  • -h: ẩn tiêu đề giữa các lần lặp
  • 2 4: thu thập dữ liệu 4 lần, mỗi lần cách nhau 2 giây

Kết quả hiển thị:

  • minflt/s: lỗi trang nhỏ/giây
  • majflt/s: lỗi trang lớn/giây
  • VSZ: bộ nhớ ảo (KB)
  • RSS: bộ nhớ thực (KB)
  • %MEM: phần trăm bộ nhớ RAM sử dụng

Lệnh mpstat trong Linux

Lệnh mpstat nằm trong gói sysstat, dùng để hiển thị thống kê CPU theo thời gian thực, bao gồm cả hoạt động của từng lõi và các loại ngắt (interrupt). Đây là công cụ hữu ích khi cần theo dõi hiệu suất hệ thống.

Cú pháp cơ bản:

mpstat [tùy chọn] [khoảng_đợi] [số_lần_lặp]

Một số ví dụ phổ biến:

  • Ví dụ 1: Theo dõi trung bình hoạt động CPU
mpstat

# Ý nghĩa:
# Hiển thị thống kê trung bình của tất cả các CPU (CPU tổng hợp - all) kể từ khi hệ thống khởi động.

Kết quả mẫu:

CPU    %usr   %nice   %sys  %iowait  %irq  %soft  %steal  %guest  %gnice  %idle
all 0.35 0.00 0.31 0.11 0.00 0.00 0.00 0.00 0.00 99.23

Giải thích các cột:

  • %idle: Thời gian CPU nhàn rỗi (không làm gì).
  • %usr: CPU dùng cho tiến trình người dùng (user-space).
  • %sys: CPU dùng cho tiến trình hệ thống (kernel-space).
  • %iowait: Thời gian CPU chờ I/O từ ổ đĩa.
  • Ví dụ 2: Hiển thị thống kê cho từng CPU riêng biệt
mpstat -P ALL

# Ý nghĩa:
# -P ALL: Hiển thị thống kê cho từng CPU (CPU 0, CPU 1, ...).
  • Ví dụ 3: Lặp lại thống kê mỗi 2 giây, 3 lần
mpstat -P ALL 2 3
# Ý nghĩa:
# Cập nhật thống kê mỗi 2 giây, lặp lại 3 lần.
# Hữu ích để theo dõi mức sử dụng CPU theo thời gian.
# Phần cuối sẽ có thêm dòng Average: thể hiện giá trị trung bình qua các lần đo.
  • Ví dụ 4: Thống kê các loại ngắt (interrupts)
mpstat -I ALL

# Ý nghĩa:
# -I ALL: Hiển thị thống kê về tất cả các loại ngắt phần cứng, phần mềm, lập lịch, thời gian, v.v.
# Thích hợp để kiểm tra hệ thống có đang bị “ngập” trong ngắt không.
  • Ví dụ 2: Hiển thị thống kê cho từng CPU riêng biệt
mpstat -A

# Ý nghĩa:
# -P ALL: Hiển thị thống kê cho từng CPU (CPU 0, CPU 1, ...).
# Tức là hiển thị cả: sử dụng CPU, ngắt, và thống kê từng CPU.

Nếu hệ thống báo lỗi không tìm thấy lệnh mpstat, bạn cần cài đặt gói sysstat:

# Trên hệ Debian/Ubuntu:
sudo apt install sysstat

# Trên hệ CentOS/RHEL:
sudo yum install sysstat

Lệnh sar trong Linux

Lệnh sar (System Activity Reporter) là công cụ giám sát hiệu suất hệ thống theo thời gian thực hoặc từ các dữ liệu đã ghi nhận. Dữ liệu được lấy từ các bộ đếm nhân Linux, cho phép bạn phân tích hiệu suất CPU, bộ nhớ, I/O, mạng,…

Dưới đây là một số ví dụ cụ thể:

  • Ví dụ 1: Theo dõi hiệu suất CPU
sar -u -o sartest 2 5
  • Thu thập 5 lần dữ liệu CPU, mỗi lần cách nhau 2 giây.
  • Tùy chọn -u: thống kê CPU.
  • Tùy chọn -o: lưu kết quả vào file sartest.

Các cột hiển thị gồm:

  • %user: Tỉ lệ sử dụng CPU ở cấp người dùng.
  • %nice: CPU cho tiến trình có mức ưu tiên nice.
  • %system: CPU cho hệ thống (kernel).
  • %iowait: CPU chờ I/O từ đĩa.
  • %steal: CPU bị “ăn cắp” khi chạy máy ảo.
  • %idle: CPU nhàn rỗi.
  • Ví dụ 2: Xem hàng đợi xử lý và tải trung bình
sar -q 2 3

Hiển thị:

  • runq-sz: số tiến trình trong hàng đợi.
  • plist-sz: số tiến trình toàn hệ thống.
  • ldavg-1/5/15: tải trung bình trong 1, 5, 15 phút.
  • blocked: số tiến trình bị chặn I/O.
  • Ví dụ 3: Kiểm tra dung lượng filesystem
sar -F 2 3

Các trường đáng chú ý:

  • MBfsfree / MBfsused: dung lượng trống và đã dùng.
  • %fsused: phần trăm đã dùng.
  • Ifree / Iused / %Iused: inode còn lại và đã dùng.
  • Ví dụ 4: Thống kê mạng theo giao diện
sar -n DEV 1 2 | egrep -v lo

Hiển thị:

  • rxpck/s, txpck/s: gói nhận/gửi mỗi giây.
  • rxkB/s, txkB/s: dung lượng nhận/gửi.
  • rxmcst/s: gói multicast nhận.
  • Ví dụ 5: Thống kê thiết bị đĩa
sar -d 2 3

Hiển thị:

  • tps: số lần truyền/giây.
  • rd_sec/s, wr_sec/s: sector đọc/ghi mỗi giây.
  • await: thời gian trung bình yêu cầu chờ hoàn thành.
  • %util: mức sử dụng thiết bị.
  • Ví dụ 6: Theo dõi bộ nhớ RAM
sar -r 2 3

Một số cột chính:

  • kbmemfree / kbmemused: RAM trống và đã dùng.
  • kbcached: bộ nhớ được cache.
  • %commit: cam kết bộ nhớ so với tổng RAM + swap.
  • Ví dụ 7: Trích xuất dữ liệu sar từ file hệ thống
sadf -d /var/log/sa/sa21 -- -n DEV
  • Dùng sadf để đọc dữ liệu từ file /var/log/sa/sa21.
  • Tùy chọn -d: xuất ra định dạng có thể nhập vào database.
  • Kết hợp -n DEV: trích xuất thống kê mạng.

Vietnix – Giải pháp lưu trữ hiệu suất cao cho website của bạn

Vietnix là đơn vị cung cấp dịch vụ hostingVPS chất lượng cao, giúp website hoạt động ổn định, tải nhanh và an toàn. Với hệ thống máy chủ hiện đại đặt tại Việt Nam và đội ngũ kỹ thuật giàu kinh nghiệm hỗ trợ 24/7, Vietnix luôn đảm bảo hiệu suất tối ưu cho mọi nhu cầu – từ website cá nhân đến hệ thống doanh nghiệp. Dịch vụ tại Vietnix được thiết kế với tiêu chí tốc độ, bảo mật và độ tin cậy cao. Bạn có thể dễ dàng mở rộng tài nguyên khi cần, tối ưu chi phí mà không ảnh hưởng đến trải nghiệm người dùng.

Thông tin liên hệ:

  • Website: https://vietnix.vn/
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, TP HCM.

Câu hỏi thường gặp

Sysstat trên Linux là gì và gồm những công cụ nào?

Sysstat là một gói công cụ thu thập và phân tích hiệu suất hệ thống trên Linux. Nó bao gồm các lệnh như iostat, mpstat, pidstat, sar, sadf giúp theo dõi CPU, I/O, bộ nhớ, tiến trình,…

Làm sao để cài Sysstat trên CentOS 7?

Dùng sudo yum install sysstat, sau đó bật dịch vụ systemctl enable --now sysstat và chỉnh file /etc/sysconfig/sysstat để bật thu thập dữ liệu.

Sự khác biệt giữa iostatmpstat là gì?

iostat đo đạc hiệu suất thiết bị lưu trữ, còn mpstat theo dõi mức sử dụng CPU trên từng lõi.

Có thể kết hợp Sysstat với công cụ giám sát nào khác không?

Có thể kết hợp với Grafana, Prometheus thông qua sadf để chuyển đổi dữ liệu sar sang định dạng CSV hoặc JSON.

Dữ liệu của Sysstat được lưu ở đâu?

Mặc định dữ liệu sar được lưu tại /var/log/sysstat/, và được ghi theo định dạng nhị phân.

Làm sao để xuất dữ liệu sar sang định dạng có thể phân tích được (CSV, XML)?

Dùng lệnh sadf như sadf -d /var/log/sysstat/saXX để xuất dữ liệu dạng CSV hoặc sadf -x cho XML.

Có thể dùng Sysstat để xác định nguyên nhân máy chủ bị chậm vào một thời điểm quá khứ không?

Có. sar giúp xem lại các chỉ số như load, CPU, I/O,… trong quá khứ, rất hữu ích để xác định thời điểm và nguyên nhân sự cố.

Có thể dùng Sysstat trong container (Docker) không?

Có thể, nhưng cần mount thêm các thư mục hệ thống như /proc và cấu hình thêm để ghi log bên trong container.

Lời kết

Việc sử dụng Sysstat giúp bạn giám sát tài nguyên hệ thống hiệu quả, từ đó phát hiện và xử lý sớm các vấn đề ảnh hưởng đến hiệu suất máy chủ. Nếu bạn có bất kỳ thắc mắc nào về cách sử dụng Sysstat hoặc các công cụ theo dõi hệ thống khác, hãy để lại bình luận dưới bài viết. Ngoài ra, đừng ngần ngại liên hệ nếu bạn cần tư vấn giải pháp lưu trữ tối ưu. Mình luôn sẵn sàng hỗ trợ để hệ thống của bạn vận hành mượt mà hơn.

Mọi người cũng xem:

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Icon tab

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

Vector

PHẦN CỨNG MẠNH MẼ

Vector

HỖ TRỢ 24/7

Vector
ĐĂNG KÝ NGAYGroup icon
khuyến mãi 30 tháng 4
Khi mua Hosting/VPS
16/04/2025 - 16/05/2025
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

icon popup single post

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG