Tải giám sát là một trong những nhiệm vụ quan trọng nhất, đặc biệt là nếu bạn đang giao dịch với các máy chủ. Nó không chỉ cung cấp cho bạn một ý tưởng về cách các tài nguyên hệ thống của bạn đang được sử dụng mà còn giúp bạn chẩn đoán các vấn đề liên quan đến hiệu năng. Trong bài viết này, chúng tôi sẽ thảo luận về cách thực hiện giám sát tải trong Linux bằng cách sử dụng công cụ trên đỉnh.

Lưu ý : tất cả các ví dụ được sử dụng trong bài viết được kiểm tra trên Ubuntu 14.04.

Trên

Theo trang người đàn ông của nó, công cụ dòng lệnh atop là một màn hình tương tác để xem tải trên hệ thống Linux. Nó cho thấy cách các tài nguyên phần cứng của hệ thống của bạn, bao gồm cpu, bộ nhớ, đĩa và mạng bị chiếm đóng, tất cả từ một quan điểm thực hiện. Không chỉ điều này, nhưng nó cũng cho thấy các quá trình chịu trách nhiệm cho tải trọng chỉ định.

Lưu ý : tải đĩa được hiển thị nếu mỗi quá trình "lưu trữ kế toán" hoạt động trong hạt nhân hoặc nếu bản vá hạt nhân "cnt" đã được cài đặt. Tương tự, tải mạng chỉ được hiển thị trên mỗi quá trình nếu bản vá hạt nhân “cnt” đã được cài đặt.

Tải xuống và cài đặt

Người dùng các hệ thống dựa trên Debian (như Mint và Ubuntu) có thể tải xuống và cài đặt công cụ bằng cách sử dụng lệnh sau:

 sudo apt-get cài đặt trên đỉnh 

Những người đang trên các bản phân phối Linux khác có thể sử dụng các công cụ quản lý gói tương ứng của họ. Ví dụ, yum trong trường hợp của Red Hat. Bạn cũng có thể tải xuống công cụ từ trang web chính thức của công cụ.

Đầu ra trên đỉnh

Sau khi cài đặt, bạn có thể thực thi công cụ bằng cách thực hiện lệnh sau từ dòng lệnh:

 sudo trên đỉnh 

Đây là đầu ra mẫu:

Như bạn có thể thấy, đó là rất nhiều thông tin được chia thành hai phần: Cấp hệ thống và Cấp độ quy trình. Trước đây bao gồm các dòng đầu ra sau:

PRC : Dòng này chứa tổng thời gian CPU được sử dụng trong chế độ hệ thống ('sys') và trong chế độ người dùng ('người dùng'), tổng số quy trình có mặt tại thời điểm này ('#proc'), tổng số chủ đề hiện tại tại thời điểm này trong trạng thái 'chạy' ('#trun'), 'ngủ gián đoạn' ('#tslpi') và 'ngủ không gián đoạn' ('#tslpu'), số lượng các quá trình zombie ('#zombie'), số lượng các cuộc gọi hệ thống bản sao ('nhân bản') và số lượng các quá trình kết thúc trong khoảng thời gian ('#exit', hiển thị '?' nếu quá trình kế toán không được sử dụng).

CPU : Dòng này chứa phần trăm thời gian CPU được sử dụng trong chế độ hạt nhân bởi tất cả các tiến trình đang hoạt động ('sys'), trong chế độ người dùng ('user') cho tất cả các tiến trình đang hoạt động (bao gồm các tiến trình đang chạy với giá trị lớn hơn 0) xử lý ngắt ('irq') bao gồm softirq, cũng như phần trăm thời gian cpu không sử dụng trong khi không có tiến trình nào đang chờ đĩa-I / O ('nhàn rỗi') và trong khi ít nhất một quá trình đang đợi đĩa-I / O ( 'chờ đợi'). Trong trường hợp hệ thống đa bộ xử lý, một dòng bổ sung được hiển thị cho mỗi bộ xử lý riêng lẻ (với 'cpu' trong chữ thường), được sắp xếp theo hoạt động.

CPL : Dòng này chứa thông tin tải CPU - số lượng các luồng có sẵn để chạy trên CPU (tức là một phần của runqueue) hoặc đang đợi đĩa I / O, số lần chuyển ngữ cảnh ('csw'), số lượng ngắt dịch vụ ('intr') và số lượng CPU có sẵn.

MEM : Dòng này chứa thông tin liên quan đến mức tiêu thụ bộ nhớ - tổng dung lượng bộ nhớ vật lý ('tot'), dung lượng bộ nhớ hiện đang trống ('miễn phí'), dung lượng bộ nhớ được sử dụng làm bộ nhớ cache trang ('cache') ), dung lượng bộ nhớ trong bộ đệm trang phải được chuyển sang đĩa ('bẩn'), lượng bộ nhớ được sử dụng cho dữ liệu meta của hệ thống tập tin ('buff') và dung lượng bộ nhớ được sử dụng cho hạt nhân malloc ('slab ').

SWP : Dòng này chứa tổng dung lượng hoán đổi trên đĩa ('tot') và dung lượng hoán đổi tự do ('miễn phí'), không gian bộ nhớ ảo đã cam kết ('vmcom') và giới hạn tối đa của không gian đã cam kết ('vmlim')

DSK : Dòng này chứa thông tin liên quan đến việc sử dụng đĩa - phần thời gian mà đơn vị đang bận xử lý các yêu cầu ('bận'), số lượng yêu cầu đọc được phát hành ('đọc'), số lượng yêu cầu ghi đã được phát hành ('write') ), số lượng KiBytes trên mỗi lần đọc ('KiB / r'), số lượng KiBytes trên mỗi ghi ('KiB / w'), số lượng MiBytes trên mỗi giây cho lần đọc ('MBr / s'), số lượng Số lượng MiBytes trên mỗi giây để ghi ('MBw / s'), độ sâu hàng đợi trung bình ('avq') và số mili giây trung bình cần thiết cho một yêu cầu ('avio') để tìm kiếm, độ trễ và truyền dữ liệu.

NET : Đây là thông tin liên quan đến sử dụng mạng (TCP / IP) - một dòng được hiển thị cho hoạt động của tầng truyền tải (TCP và UDP), một dòng cho lớp IP và một dòng cho mỗi giao diện hoạt động.

Thông tin cấp hệ thống được theo sau bởi thông tin cấp độ quy trình, như tên cho thấy thông tin chi tiết liên quan đến các quá trình mà từ đó việc sử dụng tài nguyên đã thay đổi trong khoảng thời gian cuối cùng (khoảng thời gian mặc định là 10 giây).

Một điểm quan trọng đáng nói đến là trên đỉnh sử dụng các màu (đỏ, lục lam và hơn thế nữa) để chỉ ra mức độ quan trọng của việc tiêu thụ tài nguyên ở mức hệ thống. Ví dụ: khi tài nguyên vượt quá tỷ lệ phần trăm nghề nghiệp quan trọng của nó, toàn bộ dòng màn hình có màu ĐỎ.

Lưu ý : đi qua trang hướng dẫn của lệnh để biết thêm chi tiết về đầu ra của lệnh.

Lệnh tương tác

Bạn có thể kiểm soát đầu ra của lệnh atop từ bàn phím của bạn. Ví dụ, nhấn m để hiển thị đầu ra liên quan đến bộ nhớ, d cho đầu ra liên quan đến đĩa, n cho đầu ra liên quan đến mạng, v cho các đặc tính quy trình khác nhau, c cho dòng lệnh của quá trình, v.v.

Đây là ảnh chụp màn hình của thông tin cấp độ quy trình được tạo ra bởi lệnh atop khi nhấn c :

Như bạn có thể thấy, dòng lệnh của quá trình được hiển thị trong đầu ra.

Phần kết luận

Atop là một lệnh giám sát tải rất hữu ích trong Linux, không chỉ cung cấp một tải thông tin về tài nguyên hệ thống mà còn có nhiều cách khác nhau để tùy chỉnh và kiểm soát đầu ra của nó. Bạn nên đi qua trang hướng dẫn của lệnh để tìm hiểu thêm về nó.