Trường hợp lệnh trên có được tất cả dữ liệu cho việc sử dụng CPU?


7

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ì?


1
Vâng, nó sử dụng Procfs.
Roman Newaza

Câu trả lời:


4

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.


0

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.