Khi tôi chạy top
lệnh, dòng thứ ba là;
Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.2%id, 0.1%wa, 0.0%hi, 0.0%si, 0.1%st
Từ đâu lệnh hàng đầu có được dữ liệu này? Nó có nhận được từ /proc
?, nếu có, vị trí chính xác là gì?
Khi tôi chạy top
lệnh, dòng thứ ba là;
Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.2%id, 0.1%wa, 0.0%hi, 0.0%si, 0.1%st
Từ đâu lệnh hàng đầu có được dữ liệu này? Nó có nhận được từ /proc
?, nếu có, vị trí chính xác là gì?
Câu trả lời:
Bạn đang đặt câu hỏi cho vị trí chính xác của việc sử dụng CPU. Đây là /proc/stat
:
$ head -n 3 /proc/stat
cpu 1751981 185577 398478 28868975 69445 32 27028 0 0 0
cpu0 954878 88888 186567 14433502 19750 0 600 0 0 0
cpu1 797103 96688 211911 14435473 49694 31 26428 0 0 0
Định dạng được giải thích trong Tài liệu hạt nhân ( filesystems/proc.txt
); Tôi in đậm top
Các từ viết tắt:
Dòng "cpu" đầu tiên tổng hợp các số trong tất cả các các dòng "cpuN" khác. Những con số này xác định lượng thời gian của CPU đã dành thực hiện các loại công việc khác nhau. Đơn vị thời gian đang ở USER_HZ (thường là một phần trăm giây). Ý nghĩa của các cột như sau, từ trái sang phải:
- chúng tôi er: quy trình bình thường thực thi trong chế độ người dùng
- ni ce: quy trình xử lý thực thi trong chế độ người dùng
- sy thân: quá trình thực thi trong chế độ kernel
- ID le: ngón tay cái xoay tròn
- io wa nó: chờ I / O hoàn thành
- irq: ngắt dịch vụ [ngắt cứng Chào ]
- softirq: phục vụ softirqs [ngắt mềm si ]
- thứ eal: chờ đợi không tự nguyện
- khách: chạy một khách bình thường
- guest_nice: điều hành một vị khách
Thông tin chung về CPU của bạn, bạn có thể nhận được từ /proc/cpuinfo
, nhưng điều này không liên quan đến việc sử dụng CPU.
Procfs có thể được tìm thấy trong /proc
.
Xin vui lòng đọc về điều này: Khám phá Procfs
Procfs là một hệ thống tệp ảo trong linux được gắn trong / Proc và phục vụ nhiều mục đích bao gồm quyền truy cập vào thông tin kernel trong vùng người dùng hoặc để gỡ lỗi. Một trong những tính năng làm cho Linux trở nên đặc biệt đối với tôi là truy cập để xử lý thông tin dưới dạng luồng văn bản. Rất nhiều lệnh linux (ps, top, pstree, v.v.) dựa vào hệ thống tập tin này để biết thông tin.
Bạn có thể nhìn qua top
mã nguồn có thể được tìm thấy trong coreutils
Gói GNU.