Cách sử dụng lệnh sar trên Linux

Tác giả sysadmin, T.M.Hai 11, 2023, 08:41:19 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách sử dụng lệnh sar trên Linux


Nhận số liệu thống kê kỹ thuật chi tiết từ máy tính Linux của bạn, từ dữ liệu lịch sử và thời gian thực.

  • Lệnh sar là một phần của gói sysstat và thu thập số liệu thống kê hiệu suất cho các thành phần khác nhau của máy tính Linux trong các báo cáo lịch sử và thời gian thực.
  • Chạy "sudo apt install sysstat" trong Terminal để cài đặt gói sysstat và sar.
  • Sar cung cấp số liệu thống kê theo thời gian thực về tải CPU, phân trang bộ nhớ, mức sử dụng trao đổi, v.v. Nó cũng có thể hiển thị dữ liệu lịch sử trong khoảng thời gian cụ thể, cho phép bạn phân tích các vấn đề về hiệu suất trong quá khứ.

Lệnh này sarcho phép bạn xem thống kê hiệu suất cho các thành phần khác nhau của máy tính Linux, cho cả dữ liệu lịch sử và thời gian thực. Chúng tôi chỉ cho bạn cách sử dụng nguồn tài nguyên tuyệt vời này.

1. Lệnh sar làm gì?

Lệnh sarhoặc Trình báo cáo hoạt động hệ thống là một phần của sysstatgói. Nó nắm bắt một tập hợp thông tin thống kê như tải CPU, phân trang bộ nhớ, mức sử dụng bộ nhớ, mức sử dụng trao đổi, I/O mạng, v.v. Nó giúp bạn có thể truy cập dữ liệu này dưới dạng ảnh chụp nhanh theo thời gian thực—hiển thị cho bạn những gì đang xảy ra trên máy tính của bạn ngay bây giờ và trong các báo cáo lịch sử.

Nó chạy ở chế độ nền dưới dạng daemon, thu thập một bộ dữ liệu cứ sau mười phút. Dữ liệu cho ngày hiện tại được ghi vào một tệp văn bản. Nó được chuyển đổi thành tệp nhị phân khi nửa đêm trôi qua. Các tập tin được ghi đè mỗi tháng để chúng không ngốn hết dung lượng ổ cứng của bạn một cách đều đặn.

Lệnh sarcho phép bạn thẩm vấn hệ thống và xem số liệu thống kê. Nhưng trước tiên, bạn sẽ cần cài đặt sysstatgói.

2. Cài đặt gói sysstat

Việc cài đặt sysstatrất đơn giản. Chúng tôi sử dụng trình quản lý gói của hệ thống Linux của bạn để cài đặt nó, sau đó sử dụng systemdđể kích hoạt và khởi động nền nền.

Để cài đặt sysstattrên Ubuntu chúng ta sử dụng apt:

Mã nguồn [Chọn]
sudo apt install sysstat
Để cài đặt sysstat trên Fedora, gõ:

Mã nguồn [Chọn]
sudo dnf install sysstat
Và để cài đặt sysstat trên Manjaro, chúng tôi sử dụng pacman:

Mã nguồn [Chọn]
sudo pacman -S sysstat
Sau khi sysstat cài đặt, chúng ta cần kích hoạt nó để nó có thể chạy dưới dạng daemon—một tiến trình nền— mỗi khi bạn khởi động máy tính và chúng ta cần khởi động nó ngay bây giờ để có thể sử dụng nó ngay lập tức. Chúng tôi sử dụng systemctl, một phần của systemd nhóm tiện ích, để kích hoạt và khởi động các daemon.

Mã nguồn [Chọn]
sudo systemctl enable sysstat
Mã nguồn [Chọn]
sudo systemctl start sysstat
Để xem phiên bản nào sarbạn đang sử dụng và để đảm bảo phiên bản đó phản hồi, bạn có thể sử dụng -V tùy chọn (phiên bản):

Mã nguồn [Chọn]
sar -V

3. Thống kê thời gian thực với sar

Bạn có thể sử dụng sarđể xem những gì đang xảy ra bên trong máy tính của bạn ngay bây giờ. Và bởi vì ảnh chụp nhanh chỉ là vậy—trạng thái phát tại một thời điểm nhất định—và đôi khi xu hướng hữu ích hơn, bạn có thể yêu cầu sarhiển thị một số ảnh chụp nhanh với số giây được chỉ định giữa chúng.

3.1. Thống kê CPU

Để xem ba bộ thống kê CPU cách nhau hai giây, chúng tôi sẽ sử dụng lệnh này, sử dụng -utùy chọn (CPU). Lưu ý rằng khoảng thời gian đến trước. Vì vậy, lệnh này có nội dung "hiển thị số liệu thống kê CPU theo từng bước hai giây, cho ba bộ dữ liệu."

Mã nguồn [Chọn]
sar -u 2 3

Kéo dài cửa sổ terminal của bạn sẽ làm cho bảng được sắp xếp gọn gàng, do đó dễ đọc hơn.

Tiêu đề của cột đầu tiên là thời điểm lệnh được thực thi. Các giá trị trong cột là thời điểm mỗi bộ dữ liệu được thu thập. Các cột khác là:

  • CPU : Số lượng lõi CPU hoặc ALLtính trung bình của tất cả các lõi.
  • %Người dùng : Phần trăm thời gian dành cho việc chạy các ứng dụng ở cấp độ người dùng, "trong vùng người dùng".
  • %Nice : Phần trăm thời gian dành cho việc chạy các ứng dụng ở cấp độ người dùng, với mức độ ưu tiên tốt.
  • %system : Phần trăm thời gian dành cho việc thực thi các tiến trình ở cấp hệ thống, trong kernel.
  • %iowait : Phần trăm thời gian CPU không hoạt động với yêu cầu I/O đĩa đang chờ xử lý.
  • %steal : Trong máy ảo, đây là tỷ lệ phần trăm thời gian CPU ảo không hoạt động vì CPU của máy chủ phần cứng đang phục vụ một máy ảo khác.
  • %idle : Phần trăm thời gian CPU không hoạt động mà không có bất kỳ yêu cầu I/O đĩa nào đang chờ xử lý.

Dòng cuối cùng là giá trị trung bình của các dòng trước đó.

Để xem số liệu thống kê cho một lõi cụ thể, hãy sử dụng -Ptùy chọn (mỗi bộ xử lý). Tiếp theo là số lõi CPU hoặc danh sách hoặc phạm vi số lõi, như 0,1,4hoặc 4-8.

Lệnh này xem xét ba bộ dữ liệu cách nhau một giây, đối với lõi 1. Hãy nhớ rằng, các lõi được đánh số từ 0.

Mã nguồn [Chọn]
sar -P 1 1 3

3.2. Thống kê phân trang bộ nhớ

Tùy -B chọn (phân trang) giúp sarhiển thị số liệu thống kê liên quan đến phân trang bộ nhớ vào ổ cứng. Chúng ta sẽ yêu cầu hai bộ thông tin, cách nhau 5 giây.

Mã nguồn [Chọn]
sar -B 5 2

Các cột chứa thông tin sau.

  • pgpgin/s : Tổng số kilobyte mà hệ thống đã phân trang (truy xuất) từ ổ cứng mỗi giây.
  • pgpgout/s : Tổng số kilobyte mà hệ thống đã phân trang tới ổ cứng mỗi giây.
  • lỗi/s : Số lỗi trang, cả lỗi nhỏ và lỗi lớn, do hệ thống tạo ra mỗi giây.
  • majflt/s : Số lượng lỗi lớn mà hệ thống mắc phải mỗi giây, yêu cầu tải trang bộ nhớ từ đĩa.
  • pgfree/s : Số trang được hệ thống đặt vào danh sách miễn phí mỗi giây.
  • pgscank/s : Số trang được quét bởi kswapddaemon hệ thống quản lý bộ nhớ mỗi giây.
  • pgscand/s : Số trang được quét trực tiếp mỗi giây.
  • pgstea/s : Số trang mà hệ thống đã lấy lại từ bộ đệm mỗi giây.
  • %vmeff : Được tính bằng pgsteal/ pgscan, đây là dấu hiệu cho thấy hiệu quả của việc thu hồi trang.

3.3. Tốc độ truyền I/O

Để xem số liệu thống kê I/O và tốc độ truyền tải, hãy sử dụng -btùy chọn (lưu ý, chữ thường "b"). Chúng tôi đang yêu cầu ba bộ dữ liệu với bốn giây giữa chúng.

Mã nguồn [Chọn]
sar -b 4 3

Đây là những gì các cột giữ.

  • tps : Tổng số yêu cầu truyền mỗi giây được thực hiện tới các thiết bị vật lý. Lưu ý rằng đây là số lượng yêu cầu. Có thể không phải tất cả họ đều thành công.
  • rtps : Tổng số yêu cầu đọc mỗi giây được gửi tới các thiết bị vật lý.
  • wtps : Tổng số yêu cầu ghi mỗi giây được cấp cho các thiết bị vật lý.
  • dtps : Tổng số yêu cầu loại bỏ mỗi giây được gửi tới các thiết bị vật lý.
  • bread/s : Tổng lượng dữ liệu được đọc từ các thiết bị vật lý. Con số được đưa ra theo khối 512 byte, mỗi giây.
  • bwrtn/s : Tổng lượng dữ liệu được ghi vào thiết bị vật lý tính bằng khối trên giây.
  • bdscd/s : Tổng lượng dữ liệu bị loại bỏ tính theo khối mỗi giây.

Có nhiều loại thông tin hơn mà bạn có thể chọn để xem xét. Tất cả chúng đều được sử dụng theo cùng một cách. Bạn cũng có thể sử dụng -Atùy chọn (tất cả) để xem toàn bộ mọi thứ sarcó thể ném vào bạn.

Kiểm tra trang sar man để biết danh sách đầy đủ.

4. Thống kê lịch sử với sar

Để xem lại bất kỳ dữ liệu lịch sử nào chỉ đơn giản là thêm thời gian tùy chọn -s(bắt đầu) và -e(kết thúc) vào bất kỳ sarlệnh thông thường nào. Thời gian được thể hiện bằng đồng hồ 24 giờ.

Để xem tải CPU như thế nào trong khoảng thời gian từ 06:30 đến 07:15 hôm nay, chúng ta sẽ sử dụng lệnh này.

Mã nguồn [Chọn]
sar -u -s 06:30:00 -e 07:15:00

Để xem tình hình ngày hôm trước như thế nào, hãy sử dụng một số làm cờ tùy chọn. Con số cho biết ngày nào cần báo cáo. Tùy -1chọn có nghĩa là ngày hôm qua, -2tùy chọn có nghĩa là hai ngày trước, v.v.

Hãy tạo báo cáo từ 13:00 đến 13:00, sử dụng dữ liệu của ngày hôm qua.

Mã nguồn [Chọn]
sar -u -1 -s 13:00:00 -e 13:30:00

Một cách khác để chỉ định ngày bạn muốn báo cáo là sử dụng tên tệp dữ liệu của ngày đó trên dòng lệnh. Chúng tôi thực hiện việc này với -ftùy chọn (tên tệp).

Các tệp hàng ngày được gọi là "saXX" trong đó XX được thay thế bằng ngày trong tháng. Chúng được tạo trong thư mục nhật ký trên máy tính Linux của bạn. Thư sarmục nhật ký có thể được gọi là "/var/log/sa/" hoặc "/var/log/sysstat/."

Trên Ubuntu, nó là "/var/log/sysstat/" vì vậy định dạng lệnh của chúng tôi để xem mức sử dụng CPU trong khoảng thời gian từ 14:00 đến 14:30 cho ngày thứ 21 của tháng này sẽ như sau:

Mã nguồn [Chọn]
sar -u -s 14:00:00 -e 14:30:00 -f /var/log/sysstat/sa21

5. Thông tin là sức mạnh

Và sarchắc chắn cung cấp cho bạn đủ thông tin để đưa ra quyết định sáng suốt về hiệu suất của máy tính.

Nếu bạn đóng vai trò hỗ trợ—hoặc bạn là người hỗ trợ kỹ thuật cho bạn bè và gia đình mình—việc có thể xem lại dữ liệu lịch sử là một cách tuyệt vời để bắt đầu tìm hiểu sâu hơn về một vấn đề được báo cáo cho bạn hôm nay nhưng thực tế đã xảy ra vào ngày hôm qua. Hoặc tuần trước.