![Một thiết bị đầu cuối linux trên màn hình máy tính xách tay.](https://www.howtogeek.com/wp-content/uploads/2021/11/shutterstock_1278851809.png?width=1198&trim=1,1&bg-color=000&pad=1,1)
Các sar
lệnh cho 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 tài nguyên tuyệt vời này.
Bộ chỉ huy sar
Các sar
lệnh, hoặc Trình báo cáo Hoạt động Hệ thống, là một phần của sysstat
bưu kiện. 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ớ, sử dụng bộ nhớ, 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 trong các ảnh chụp nhanh 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 trong 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 được ghi đè mỗi tháng để chúng không ngấu nghiến dung lượng ổ cứng của bạn một cách đều đặn.
Các sar
lệnh cho 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 sysstat
bưu kiện.
Cài đặt gói sysstat
cài đặt sysstat
là rấ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 và sau đó sử dụng systemd
để kích hoạt và bắt đầu daemon nền.
Để cài đặt sysstat
trên Ubuntu chúng tôi sử dụng apt:
sudo apt install sysstat
Để cài đặt sysstat
trên Fedora, gõ:
sudo dnf install sysstat
Và để cài đặt sysstat trên Manjaro, chúng tôi sử dụng pacman:
sudo pacman -S sysstat
Với sysstat
được cài đặt, chúng tôi 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 của mình và chúng tôi 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 daemon.
sudo systemctl enable sysstat
sudo systemctl start sysstat
Để xem phiên bản nào của sar
bạn đang sử dụng và để đảm bảo rằng nó đang phản hồi, bạn có thể sử dụng -V
(phiên bản) tùy chọn:
sar -V
Thống kê thời gian thực với sar
Bạn có thể 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ỉ có vậy—trạng thái chơi tại một thời điểm nhất định—và đôi khi là một xu hướng hữu ích hơn, bạn có thể hỏi sar
để hiển thị một số ảnh chụp nhanh với số giây được chỉ định giữa chúng.
Thống kê CPU
Để xem ba bộ số liệu thống kê CPU với hai giây giữa chúng, chúng tôi sẽ sử dụng lệnh này, lệnh này sử dụng -u
(CPU) tùy chọn. 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 các bước trong hai giây, cho ba bộ dữ liệu.”
sar -u 2 3
Kéo dài cửa sổ đầu cuối của bạn làm cho bảng được sắp xếp gọn gàng, do đó dễ đọc hơn.
Tiêu đề cho cột đầu tiên là thời gian lệnh được thực thi. Các giá trị trong cột là thời gian mỗi bộ dữ liệu được thu thập tại. Các cột khác là:
-
CPU: Số lõi CPU, hoặc
ALL
cho 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”.
- %Đẹp: Tỷ lệ 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.
- %hệ thống: Tỷ lệ phần trăm thời gian dành cho việc thực thi các quy trình ở cấp hệ thống, trong nhân.
- %iowait: Tỷ lệ phần trăm thời gian khi CPU không hoạt động với yêu cầu I/O đĩa đang chờ xử lý.
- %ăn cắp: Trong một máy ảo, đây là tỷ lệ phần trăm thời gian CPU ảo không hoạt động do CPU của máy chủ phần cứng đang phục vụ một máy ảo khác.
- % nhàn rỗi: Tỷ lệ phần trăm thời gian khi 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à trung bình cộng 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 -P
(mỗi bộ xử lý) tùy chọn. Tiếp theo là số lõi CPU hoặc danh sách hoặc phạm vi số lõi, chẳng hạn như 0,1,4
hoặc 4-8
.
Lệnh này xem xét ba bộ dữ liệu với một giây giữa chúng, cho lõi 1. Hãy nhớ rằng, các lõi được đánh số từ 0.
sar -P 1 1 3
Thống kê phân trang bộ nhớ
Các -B
(phân trang) tùy chọn nguyên nhân sar
để hiển thị số liệu thống kê liên quan đến việc phân trang bộ nhớ vào ổ cứng. Chúng tôi sẽ yêu cầu hai bộ thông tin, với năm giây giữa chúng.
sar -B 5 2
Các cột chứa thông tin sau.
- pgpgin/s: Tổng số kilobyte mà hệ thống có phân trang trong (lấy) từ ổ cứng mỗi giây.
- pgpgout/s: Tổng số kilobyte mà hệ thống có trang ra vào ổ 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ỗi lớn mà hệ thống đã tạo ra mỗi giây, yêu cầu tải một trang bộ nhớ từ đĩa.
- pgfree/s: Số trang được hệ thống đưa vào danh sách miễn phí mỗi giây.
-
pgscank/s: Số trang được quét bởi hệ thống quản lý bộ nhớ
kswapd
daemon mỗi giây. - pgscand/s: Số trang được quét trực tiếp mỗi giây.
- pgsteal/s: Số trang mà hệ thống đã lấy lại từ bộ đệm mỗi giây.
-
%vmeff: Được tính là
pgsteal
/pgscan
đây là dấu hiệu cho thấy hiệu quả của việc thu hồi trang.
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 -b
(lưu ý, chữ thường “b”). Chúng tôi đang yêu cầu ba bộ dữ liệu cách nhau bốn giây.
sar -b 4 3
Đây là những gì các cột giữ.
- TPS: Tổng số yêu cầu chuyển mỗi giây được thực hiện cho 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 cấp cho thiết bị vật lý.
- wtps: Tổng số yêu cầu ghi mỗi giây được cấp cho thiết bị vật lý.
- dtps: Tổng số yêu cầu loại bỏ mỗi giây được cấp cho thiết bị vật lý.
- bánh mì: Tổng lượng dữ liệu được đọc từ các thiết bị vật lý. Con số được đưa ra trong các 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ý theo khối mỗi giây.
- bdscd/s: Tổng lượng dữ liệu bị loại bỏ theo khối mỗi giây.
Có nhiều danh mục thông tin khác 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 -A
tùy chọn (tất cả) để xem kết xuất hoàn chỉnh của mọi thứ sar
có thể ném vào bạn.
Kiểm tra trang sar man để biết danh sách đầy đủ.
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à một trường hợp thêm -s
(bắt đầu) và -e
(kết thúc) tùy chọn thời gian cho bất kỳ thông thường sar
mệnh lệnh. Thời gian được biểu thị 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 naychúng ta sẽ sử dụng lệnh này.
sar -u -s 06:30:00 -e 07:15:00
Để xem tình hình như thế nào vào ngày hôm trước, hãy sử dụng một số làm cờ tùy chọn. Con số cho biết ngày nào để báo cáo. Các -1
tùy chọn có nghĩa là ngày hôm qua, các -2
tùy chọn có nghĩa là hai ngày trước, v.v.
Hãy tạo một báo cáo từ 13:00 đến 13:00, sử dụng dữ liệu của ngày hôm qua.
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 của tệp dữ liệu của ngày đó trên dòng lệnh. Chúng tôi làm điều này với -f
(tên tệp) tùy chọn.
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ý của máy tính Linux của bạn. Các sar
log có thể được gọi là “/var/log/sa/” hoặc “/var/log/sysstat/.”
Trên Ubuntu, đó 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 21 của tháng này sẽ như sau:
sar -u -s 14:00:00 -e 14:30:00 -f /var/log/sysstat/sa21
Thông tin là sức mạnh
Và sar
chắ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 máy tính của bạn.
Nếu bạn đang giữ vai trò hỗ trợ—hoặc bạn là người hỗ trợ kỹ thuật cho bạn bè và gia đình của mình—thì 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 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.