Theo dõi CPU, RAM, Disk trên VPS Linux với lệnh Sar

18/01/2025

Khi quản lý một VPS Linux, theo dõi tài nguyên hệ thống như theo dõi CPU, RAM, Disk và mạng là cực kỳ quan trọng. Việc giám sát này đảm bảo máy chủ hoạt động ổn định và hiệu quả. Một trong những công cụ hữu ích giúp bạn theo dõi những tài nguyên này là lệnh sar. Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách sử dụng lệnh sar để giám sát tài nguyên hệ thống trên VPS Linux.

Cài đặt lệnh Sar để theo dõi CPU, RAM, Disk trên VPS Linux
Cài đặt lệnh Sar để theo dõi CPU, RAM, Disk trên VPS Linux

Lệnh Sar là gì?

Lệnh sar (System Activity Report) là công cụ mạnh mẽ được sử dụng trên hệ thống Linux để thu thập và hiển thị các báo cáo về hiệu suất hệ thống. Lệnh này có thể theo dõi nhiều yếu tố quan trọng của hệ thống, bao gồm CPU, RAM, Disk, và Mạng. Sar không chỉ giúp bạn theo dõi tình trạng tài nguyên hiện tại mà còn giúp lưu trữ dữ liệu hiệu suất trong quá khứ để phân tích xu hướng.

Các tính năng chính của lệnh Sar

  • Theo dõi CPU: Sar giúp bạn kiểm tra mức sử dụng CPU. Bao gồm thời gian xử lý của hệ thống và người dùng, cũng như phần trăm thời gian CPU bị rỗi.
  • Theo dõi bộ nhớ (RAM): Bạn có thể sử dụng sar để theo dõi dung lượng bộ nhớ đã sử dụng và bộ nhớ còn trống trên hệ thống.
  • Theo dõi ổ đĩa (Disk): Sar cung cấp thông tin chi tiết về hoạt động của ổ đĩa. Bao gồm số lượng đọc và ghi dữ liệu, thời gian chờ và các thông số liên quan đến hiệu suất ổ đĩa.
  • Theo dõi mạng: Lệnh sar cũng hỗ trợ theo dõi hoạt động mạng. Bao gồm lưu lượng gửi và nhận qua các giao diện mạng của hệ thống.

Lợi ích của lệnh Sar

  • Giám sát tài nguyên hệ thống: Sar giúp giám sát hiệu suất hệ thống trong thời gian thực hoặc theo dõi lịch sử để phát hiện các vấn đề.
  • Phân tích hiệu suất lâu dài: Có thể sử dụng sar để lưu trữ và phân tích dữ liệu hiệu suất từ nhiều ngày hoặc tuần trước. Giúp phát hiện các xu hướng hoặc vấn đề tiềm ẩn.
  • Quản lý VPS Linux tốt hơn: Với sar, việc theo dõi và tối ưu hóa tài nguyên của VPS trở nên dễ dàng. Tránh tình trạng quá tải hoặc mất ổn định.

Lệnh sar là một công cụ mạnh mẽ giúp người quản trị hệ thống duy trì hiệu suất ổn định cho các máy chủ và VPS Linux. Đồng thời, cung cấp cái nhìn sâu sắc về tình trạng của các tài nguyên hệ thống.

=> Xem thêm:

Cài đặt lệnh Sar trên VPS Linux

Để sử dụng lệnh sar, bạn cần cài đặt gói sysstat (chứa lệnh sar) trên VPS Linux. Dưới đây là cách cài đặt trên một số bản phân phối phổ biến:

Trên Ubuntu/Debian:

apt update sudo

sudo apt install sysstat

Trên CentOS/RHEL:

yum install sysstat

Sau khi cài đặt xong, bạn có thể sử dụng lệnh sar ngay lập tức.

Cách sử dụng lệnh Sar để theo dõi CPU, RAM, Disk

Dưới đây là cách sử dụng sar để theo dõi các tài nguyên hệ thống quan trọng trên VPS Linux:

Theo dõi CPU:

Để theo dõi tình trạng sử dụng CPU, sử dụng lệnh sau:

sar -u 1 5

Trong đó:

  • u: Theo dõi CPU (mức sử dụng CPU).
  • 1: Giới hạn thời gian đo lường mỗi giây.
  • 5: Số lần lặp lại báo cáo (5 lần).

Kết quả của lệnh này sẽ hiển thị mức sử dụng CPU qua các thông số:

  • %user: Mức sử dụng CPU bởi các tiến trình người dùng.
  • %system: Mức sử dụng CPU bởi các tiến trình hệ thống.
  • %idle: Phần trăm thời gian CPU không hoạt động (rỗi).

Theo Dõi Bộ Nhớ (RAM):

Để theo dõi tình trạng bộ nhớ RAM, sử dụng lệnh:

sar -r 1 5

Trong đó:

  • -r: Theo dõi bộ nhớ RAM.
  • 1: Đo lường mỗi giây.
  • 5: Lặp lại 5 lần.

Lệnh này sẽ cung cấp thông tin về tổng bộ nhớ, bộ nhớ đã sử dụng và bộ nhớ còn trống trong hệ thống.

Theo dõi Disk (Ổ đĩa):

Để theo dõi tình trạng sử dụng đĩa (Disk), sử dụng lệnh:

sar -d 1 5

Trong đó:

  • -d: Theo dõi hoạt động của đĩa.
  • 1: Đo lường mỗi giây.
  • 5: Lặp lại 5 lần.

Lệnh này sẽ hiển thị thông tin về hoạt động của đĩa. Bao gồm số lượng đọc/ghi trên mỗi ổ đĩa và tỷ lệ sử dụng của chúng.

Ví dụ chạy lệnh Sar trên VPS Ubuntu 20.04 và đọc kết quả

Để hiểu hơn về cách dùng lệnh Sar trên VPS Linux, bài viết hướng dẫn chi tiết cách sử dụng lệnh Sar trên VPS Ubuntu 20.04 Việt Nam và phân tích kết quả sau khi chạy lệnh.

apt update sudo

sudo apt install sysstat

Theo dõi CPU

sar -u 1 5

Kết quả nhận được sau khi chạy lệnh như hình ảnh bên dưới.

Theo dõi CPU bằng lệnh Sar
Theo dõi CPU bằng lệnh Sar

Kết quả:

1. %user: Thời gian CPU dành cho các tác vụ của người dùng (user processes). Ở đây là 0.00, nghĩa là không có tiến trình nào của user đang tiêu tốn CPU.

2. %nice: Thời gian CPU dành cho các tác vụ ưu tiên thấp (nice processes). Giá trị 0.00 cho biết không có tiến trình nice nào chạy.

3. %system: Thời gian CPU dành cho các tác vụ hệ thống (kernel processes). Giá trị 0.00, nghĩa là hệ thống không dùng tài nguyên CPU.

4. %iowait: Thời gian CPU chờ đợi I/O (đọc/ghi từ đĩa, thiết bị). Giá trị 0.00, tức không có tắc nghẽn I/O.

5. %steal: Thời gian CPU bị “đánh cắp” bởi hypervisor (trong môi trường ảo hóa). Giá trị 0.00, nghĩa là không có tài nguyên bị ảnh hưởng.

6. %idle: Thời gian CPU nhàn rỗi. Giá trị 99.80 – CPU hầu như không được sử dụng, đang ở trạng thái rảnh rỗi.

Kết luận:

  • CPU của máy đang nhàn rỗi gần như hoàn toàn (%idle rất cao).
  • Không có tiến trình nào tiêu thụ đáng kể tài nguyên CPU tại thời điểm theo dõi.

Theo dõi RAM

sar -r 1 5

Kết quả nhận được sau khi chạy lệnh như hình ảnh bên dưới.

Theo dõi RAM bằng lệnh Sar
Theo dõi RAM bằng lệnh Sar

Các cột trong kết quả:

1. kbmemfree: Bộ nhớ RAM trống, tính bằng kilobyte (kB).

  • Ví dụ: 180736 (khoảng 176MB bộ nhớ đang trống).

2. kbavail: Bộ nhớ khả dụng (available) có thể được sử dụng bởi các tiến trình mà không cần swap hoặc giải phóng cache.

  • Ví dụ: 457992 (khoảng 447MB khả dụng).

3. kbmemused: Bộ nhớ RAM đã được sử dụng (tổng bộ nhớ trừ đi kbmemfree), tính bằng kilobyte.

  • Ví dụ: 218548 (khoảng 213MB bộ nhớ đã được sử dụng).

4. %memused: Tỷ lệ bộ nhớ đã sử dụng trên tổng bộ nhớ.

  • Ví dụ: 24.41% (khoảng 1/4 tổng RAM đang được sử dụng).

5. kbbuffers: Bộ nhớ được sử dụng cho buffer (bộ nhớ đệm để lưu trữ dữ liệu tạm thời trước khi ghi vào ổ đĩa).

  • Ví dụ: 49968 (khoảng 48MB đang được dùng làm buffer).

6. kbcached: Bộ nhớ được dùng làm cache (lưu trữ dữ liệu tạm để truy xuất nhanh hơn).

  • Ví dụ: 330228 (khoảng 322MB được sử dụng cho cache).

7. kbcommit: Bộ nhớ đã được “cam kết” (commit) cho các tiến trình (bao gồm RAM vật lý và swap).

  • Ví dụ: 513104 (khoảng 501MB đã được cam kết).

8. %commit: Tỷ lệ bộ nhớ cam kết so với tổng bộ nhớ khả dụng.

  • Ví dụ: 18.78% (chưa đến 1/5 bộ nhớ đã được cam kết).

9. kbactive: Bộ nhớ đang hoạt động (active).

  • Ví dụ: 263348 (khoảng 257MB đang hoạt động).

Kết luận:

  • Máy của bạn đang sử dụng 24.41% RAM (RAM vật lý) trong tổng số.
  • Bộ nhớ trống là khoảng 176MB, và bộ nhớ khả dụng khoảng 447MB.
  • Hệ thống có nhiều bộ nhớ cache và buffer để tăng tốc độ truy xuất, với cache khoảng 322MB và buffer khoảng 48MB.
  • Tỷ lệ sử dụng bộ nhớ mức thấp, không có dấu hiệu bị thiếu RAM.

Theo dõi Disk (Ổ đĩa):

sar -d 1 5

Kết quả nhận được sau khi chạy lệnh như hình ảnh bên dưới.

Theo dõi Disk bằng cách dùng lệnh Sar

Kết quả từ lệnh sar -d 1 5 được sử dụng để theo dõi hoạt động của các thiết bị đĩa (disk devices) trong khoảng thời gian 1 giây và lặp lại 5 lần. Phân tích chi tiết như sau:

Các cột trong kết quả:

1. DEV: Tên thiết bị (ví dụ: dev7-0, dev7-1).
2. tps (transactions per second): Số lượng yêu cầu I/O gửi đến thiết bị mỗi giây.
3. rkB/s (read KB per second): Tốc độ đọc dữ liệu từ thiết bị (KB/s).
4. wkB/s (write KB per second): Tốc độ ghi dữ liệu lên thiết bị (KB/s).
5. dkB/s (discard KB per second): Lượng dữ liệu bị loại bỏ (KB/s).
6. areq-sz (average request size): Kích thước trung bình của mỗi yêu cầu I/O (KB).
7. aqu-sz (average queue size): Kích thước trung bình của hàng đợi I/O.
8. await (average wait time): Thời gian trung bình một yêu cầu I/O chờ đợi hoàn tất (ms).
9. %util (percent utilization): Phần trăm thời gian thiết bị bận thực hiện I/O.

Phân tích:

  • Tất cả các giá trị đều bằng 0: Điều này cho thấy không có hoạt động đọc/ghi hoặc bất kỳ hoạt động nào khác trên các thiết bị đĩa trong thời gian quan sát (5 giây).
  • %util = 0.00%: Thiết bị hoàn toàn không được sử dụng.
  • aqu-sz = 0.00 và await = 0.00: Không có yêu cầu nào được xử lý hoặc chờ xử lý.

Nhận xét:

  • Nếu đây là trạng thái bình thường, có thể hệ thống không có tác vụ nào yêu cầu truy cập ổ đĩa trong thời điểm đo.
  • Nếu bạn mong đợi hoạt động đĩa, kết quả này có thể gợi ý rằng ứng dụng không thực hiện truy cập I/O hoặc có lỗi trong cách kiểm tra.

Lệnh sar là một công cụ mạnh mẽ và hữu ích để giám sát hiệu suất hệ thống trên VPS Linux. Giúp bạn theo dõi CPU, RAM, và Disk, nhanh chóng phát hiện các vấn đề hiệu suất và tối ưu hóa tài nguyên hệ thống để đảm bảo VPS của bạn hoạt động ổn định. Nếu bạn đang quản lý VPS Linux, đừng bỏ qua việc cài đặt và sử dụng sar để duy trì hiệu suất tốt nhất cho hệ thống của mình.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *