Làm thế nào để đăng nhập tải CPU?


Câu trả lời:


42

Điều này hoạt động rất tốt:

 while true; do uptime >> uptime.log; sleep 1; done
  • Điều này sẽ ghi lại tải cpu của bạn mỗi giây và nối nó vào một tệp uptime.log.

    Sau đó, bạn có thể nhập tệp này vào Gnumeric hoặc bảng tính OpenOffice để tạo một biểu đồ đẹp (chọn 'cách nhau bởi dấu cách' khi nhập).

Như Scaine nhận thấy, điều này sẽ không đủ để chẩn đoán vấn đề. Vì vậy, ngoài ra, hãy chạy phần này (hoặc sử dụng câu trả lời của anh ấy cho phần này):

while true; do (echo "%CPU %MEM ARGS $(date)" && ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 | tail) >> ps.log; sleep 5; done
  • Điều này sẽ nối thêm 10 quy trình đói CPU nhất vào một tệp ps.logcứ sau năm giây.

    Lưu ý rằng đây không phải là tải đầy đủ thông tin topsẽ cung cấp cho bạn. Đây chỉ là top 10 và chỉ sử dụng CPU, Sử dụng bộ nhớ và đối số đầu tiên của họ (tức là lệnh của họ mà không cần thêm đối số, như trong /usr/bin/firefox)

Sau khi bạn đã sử dụng Bảng tính để tạo biểu đồ để xem khi nào tải CPU của bạn đi qua mái nhà, bạn có thể tìm kiếm tệp này trong thời gian gần nhất để xem quá trình nào đã gây ra nó.

Đây là những gì các tập tin sẽ trông như:

thời gian hoạt động

~$ cat uptime.log 
 22:57:42 up 1 day,  4:38,  4 users,  load average: 1.00, 1.26, 1.21
 22:57:43 up 1 day,  4:38,  4 users,  load average: 0.92, 1.24, 1.21
 22:57:44 up 1 day,  4:38,  4 users,  load average: 0.92, 1.24, 1.21
 22:57:45 up 1 day,  4:38,  4 users,  load average: 0.92, 1.24, 1.21
 ...

ps.log

%CPU %MEM ARGS Mo 17. Jan 23:09:47 CET 2011
 0.7  0.9 /usr/bin/compiz
 0.8  0.5 /usr/lib/gnome-panel/clock-applet
 1.1  1.7 /opt/google/chrome/chrome
 1.2  0.3 /usr/bin/pulseaudio
 1.8  4.0 /opt/google/chrome/chrome
 2.6  1.5 /opt/google/chrome/chrome
 2.6  3.2 /usr/bin/google-chrome
 3.6  2.6 /opt/google/chrome/chrome
 4.9  1.5 /usr/bin/X
 5.7  1.6 /opt/google/chrome/chrome
%CPU %MEM ARGS Mo 17. Jan 23:09:48 CET 2011
 0.7  0.9 /usr/bin/compiz
 0.8  0.5 /usr/lib/gnome-panel/clock-applet
 1.0  1.7 /opt/google/chrome/chrome
 1.2  0.3 /usr/bin/pulseaudio
 1.8  4.0 /opt/google/chrome/chrome
 2.6  1.5 /opt/google/chrome/chrome
 2.6  3.2 /usr/bin/google-chrome
 3.6  2.6 /opt/google/chrome/chrome
 4.9  1.5 /usr/bin/X
 5.7  1.6 /opt/google/chrome/chrome
 ...

3
Điều này thực sự in sử dụng CPU chính xác ?? Tôi đã thử cách này trên centos và chỉ sử dụng bộ nhớ là chính xác :(
Menelaos Bakopoulos

Làm cách nào để lệnh này tiếp tục chạy trên VPS của tôi ngay cả sau khi tôi đóng kết nối Putty?
Lucas Bustamante

1
Nếu việc sử dụng CPU được báo cáo pslà vô nghĩa, hãy thử chạy nó dưới quyền root.
Stefano Palazzo

Làm cách nào để lệnh này tiếp tục chạy trên VPS của tôi ngay cả sau khi tôi đóng kết nối Putty ????
Mostafa

10

Bạn có thể chạy toplệnh trong chế độ hàng loạt bằng cách sử dụng -btùy chọn, sau đó kết xuất nó vào một tệp.

Khi khởi động PC, hãy mở terminal, chạy

top -b > ~/cpu.txt

Sau đó, khi PC của bạn đóng băng, chỉ cần mở tệp văn bản (có thể rất lớn) và kiểm tra mục cuối cùng để biết một số chi tiết về những gì đang chạy ngay trước khi sự cố. Trong thực tế, tập tin sẽ quá lớn đến nỗi bạn nên chạy một tail -250 ~/cpu.txtthay thế.

Ngoài ra, hãy kiểm tra /var/log/kern.log trong trường hợp sự cố của bạn có liên quan đến phần cứng (không thể xảy ra nếu điều này chỉ xảy ra sau khi nâng cấp, nhưng dù sao cũng đáng để kiểm tra).



0

Đối với những người cần chạy lệnh này sau khi phiên putty (máy khách SSH) của bạn kết thúc. bạn có thể sử dụng lệnh screen(hoặc cài đặt nó bằng cách sử dụng apt-get)

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.