2012-12-09 36 views
8

Tôi đang sử dụng một bộ xử lý ARM lõi đơn nhỏ chạy dưới Debian và có vấn đề về sự hiểu biết sản lượng sử dụng CPU của đầu, xem:Hiểu Linux đầu CPU sử dụng đầu ra

top - 15:31:54 up 30 days, 23:00, 2 users, load average: 0.90, 0.89, 0.87 
Tasks: 44 total, 1 running, 43 sleeping, 0 stopped, 0 zombie 
Cpu(s): 65.0%us, 20.3%sy, 0.0%ni, 14.5%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st 
Mem:  61540k total, 40056k used, 21484k free,  0k buffers 
Swap:  0k total,  0k used,  0k free, 22260k cached 

    PID USER  PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND                      
26028 root  20 0 2536 1124 912 R 1.9 1.8 0:00.30 top                       
31231 root  19 -1 45260 964 556 S 1.9 1.6 1206:15 owserver                     
    3 root  15 -5  0 0 0 S 0.3 0.0 0:08.68 ksoftirqd/0                     
    694 root  20 0 28640 840 412 S 0.3 1.4 468:26.74 rsyslogd   

Cột% CPU là rất thấp so với tất cả các quy trình, trong ví dụ này, tất cả cùng nhau 4,4% (tất cả các quá trình khác dưới đây là 0%) Nhưng CPU allover trên dòng 3 cho thấy 65% ​​chúng tôi và 20% sy, vì vậy cho cả hai giá trị rất cao - và bằng cách này, đây là cách hệ thống cảm thấy: rất chậm :-( Hệ thống hầu như luôn ở trong tình trạng này: CPU rất thấp cho tất cả các quy trình, nhưng CPU của người dùng cao + hệ thống Ai có thể giải thích tại sao có như vậy ah igh không nhất quán trong đầu ra công cụ hàng đầu? Và tôi có thể sử dụng công cụ nào để tìm hiểu rõ hơn nguyên nhân gây ra việc sử dụng CPU hệ thống + người dùng cao - đầu dường như vô dụng ở đây.

cập nhật: Trong khi đó tôi đã tìm thấy chủ đề này here, mà thảo luận một câu hỏi tương tự, nhưng tôi không thể xác minh những gì được viết ở đó:

  • Lệnh thời gian hoạt động cho thấy việc sử dụng CPU trung bình trên 1/5/15 phút
  • Điều này gần với dòng đầu tiên của đầu ra kết quả đầu ra là tổng của% chúng tôi +% sy. Nhưng điều này đang thay đổi nhiều hơn, có thể là trung bình mỗi 10 giây?
  • Thậm chí nếu tìm thời gian còn trên sản lượng hàng đầu, tổng số% chúng tôi +% sy luôn cao hơn các bản tóm tắt của tất cả các CPU% nhiều lần

Cảm ơn Achim

Trả lời

6

Bạn nên đọc manpage của top để hiểu đầu ra của nó trở nên tinh tế hơn. Từ manpage:

% CPU - CPU

phần của nhiệm vụ của thời gian CPU trôi qua kể từ khi cập nhật màn hình cuối cùng, thể hiện dưới dạng một tỷ lệ phần trăm của tổng thời gian CPU. Thời gian cập nhật màn hình mặc định là 3 giây, có thể thay đổi với #top -d ss.tt. Để đo mức sử dụng CPU tích lũy, hãy chạy top -S.

-S: chế độ thời gian tích lũy chuyển

Bắt đầu top với nhớ cuối cùng trạng thái 'S' đảo ngược. Khi 'Chế độ tích lũy' được Bật, mỗi quá trình được liệt kê với thời gian cpu mà nó và các con đã chết của nó đã sử dụng.

Trạng thái CPU được hiển thị trong Khu vực tóm tắt. Chúng luôn được hiển thị dưới dạng phần trăm và dành cho thời gian từ bây giờ đến lần làm mới cuối cùng.

us -- User CPU time 
     The time the CPU has spent running users' processes that are not niced. 

    sy -- System CPU time 
     The time the CPU has spent running the kernel and its processes. 

    ni -- Nice CPU time 
     The time the CPU has spent running users' proccess that have been niced. 

    wa -- iowait 
     Amount of time the CPU has been waiting for I/O to complete. 

    hi -- Hardware IRQ 
     The amount of time the CPU has been servicing hardware interrupts. 

    si -- Software Interrupts 
     The amount of time the CPU has been servicing software interrupts. 

    st -- Steal Time 
     The amount of CPU 'stolen' from this virtual machine by the hypervisor for other tasks (such as running another virtual machine). 

Trong trường hợp bình thường% chúng tôi +% sy phải luôn cao hơn.

Các vấn đề liên quan