Làm cách nào để biết quy trình nào đang ăn cắp CPU của tôi khi chúng không thêm tới 100%?


9

Applet System Monitor của Ubuntu cho thấy việc sử dụng CPU 100% liên tục. Nếu tôi nhấp vào nó, tab tài nguyên cũng hiển thị 100% liên tục. Tuy nhiên, nếu tôi đi đến các quy trình, để tìm ra quy trình nào là thủ phạm, không có gì trên 10%. Nếu tôi chạy hàng đầu, không có gì trên 10%. Các quy trình riêng lẻ không thêm tới 100%. Tôi cố gắng giết rất nhiều quá trình, nhưng việc sử dụng tổng thể tiếp tục là 100%. Làm thế nào tôi có thể tìm ra những gì đang ăn mòn CPU?

văn bản thay thế

Đây là một tình huống bất thường trên máy tính tôi sử dụng hàng ngày, không bao giờ ở gần CPU 100% trừ khi tôi đang làm gì đó yêu cầu nó (như tải 32 tab Firefox), sau đó nó trở lại mức nhàn rỗi bình thường. Nó không phải là một cài đặt mới hay bất cứ điều gì. Không có lý do gì bộ xử lý nên được tối đa hóa. Tôi không chắc chắn khi nào nó bắt đầu hoặc nếu tôi thay đổi điều gì đó đã khiến nó xảy ra.

Thông thường tôi sẽ sử dụng top hoặc System Monitor và tìm quá trình vượt khỏi tầm kiểm soát, nhưng lần này tôi không thể tìm thấy bất cứ thứ gì với những công cụ đó. Nó vẫn tồn tại sau khi khởi động lại và mọi thứ.

Và bộ xử lý rõ ràng là nóng, vì vậy nó không phải là một lỗi đọc.

Cập nhật: Tôi đã cố gắng giết từng tiến trình, từng quá trình một, cho đến khi vấn đề biến mất và cuối cùng giết chết máy chủ vino đã khắc phục nó, mặc dù quá trình đó không bao giờ vượt quá 5%. Tôi đã kích hoạt Remote Desktop một vài ngày trước (và bây giờ rõ ràng đã vô hiệu hóa nó).

Nhưng câu hỏi vẫn là: Làm thế nào một quy trình duy nhất quản lý để sử dụng CPU 100% trong khi top chỉ hiển thị quá trình đó ở mức 5%? Làm thế nào để tôi xác định thủ phạm như thế này trong tương lai?

Có vẻ như tôi không phải là người duy nhất gặp vấn đề này:

Vẫn còn một vấn đề trong cả jickyy và nghiệp chướng. Thật thú vị, cả System Monitor & htop đều không hiển thị tổng các tiến trình riêng lẻ ở bất cứ đâu gần 100% cpu.


2
Là hệ thống của bạn cũng chậm? Có thể là một đọc sai.
Bobby

Câu trả lời:


9

Khi bạn nói "không có gì trên 10%", bạn có nghĩa là "không có gì trên 10%"? Chỉ mất 11 thứ với tổng số ~ 9% để đạt tổng 100%.

Ngoài ra, một số thời gian CPU được sử dụng đo được có thể là thời gian chờ I / O - thời gian trong đó một quá trình có thể làm gì đó nhưng không phải vì nó đang chờ thiết bị I / O phản hồi (tức là nó đã đưa ra yêu cầu đĩa và đĩa chưa tìm thấy đúng bit dữ liệu và trả lại nó). Trong đầu, điều này có thể được nhìn thấy trên (các) dòng CPU dưới dạng% wa. Trạng thái chờ I / O hơi kỳ lạ - CPU thực sự không bận làm gì cả (vì vậy nếu một quá trình khác muốn thực hiện một số tính toán thì có thể) nhưng nó được tính vào các số liệu tải hệ thống khi tải lại hệ thống nhiều hơn không chỉ là CPU activiy.

Sẽ rất hữu ích khi thêm đầu ra top -n 1cho câu hỏi của bạn.

Ngoài ra, nếu hạt nhân của bạn đủ gần đây để có tính năng kế toán IO (nếu bạn đang sử dụng bản phát hành Ubuntu gần đây) và nó được bật, bạn có thể thấy các quy trình đang tích cực thực hiện các hoạt động I / O bằng cách chạy iotop -n 1 -ob(iotop có thể không được cài đặt theo mặc định, nếu bạn không cài đặt thử apt-get install iotophoặc tìm thấy nó trong trình quản lý gói GUI.


1
+1 để yêu cầu thêm top -n 1vào câu hỏi
Tarnay Kálmán

2

Tôi đã có một vấn đề tương tự. Bộ xử lý đã hoạt động đầy đủ và không có quy trình nào trong System Monitor cho thấy bất cứ điều gì. Tôi tìm thấy một câu trả lời bằng cách sử dụng lệnh "top" trong cửa sổ terminal. Nó cho thấy apt đã ăn cắp cpu của tôi mà không có lý do chính đáng. Vậy tại sao System Manager không hiển thị điều này? Hóa ra có một tùy chọn trong phần Xem cho tất cả các quy trình; Của tôi đã được kiểm tra là Quy trình của tôi, vì vậy tôi chưa bao giờ thấy thủ phạm. Hi vọng điêu nay co ich.


0

Tôi có cùng một vấn đề, nhưng phát hiện ra rằng Xorg đã sử dụng 50% CPU trong khi điều này cho thấy rằng [lỗi này] có thể được sửa bằng lệnh sudo rmmod ums_realtek. Lần này Xorg chỉ sử dụng khoảng 5-10% CPU trong màn hình hệ thống, nhưng trong tab tài nguyên, nó vẫn hiển thị 100%.

Trong khi tôi đang theo dõi màn hình hệ thống, tôi thấy một chớp mắt của một ưu điểm gốc sử dụng CPU 100%! Tôi không có thời gian để xem nó là gì, nhưng tôi chắc chắn điều này có liên quan đến nó.


-1

Câu hỏi đầu tiên là liệu hệ thống của bạn có vẻ chậm hoặc không phản hồi. Rốt cuộc, đó là CPU của bạn, bạn đã trả tiền cho nó và bạn có quyền chạy nó đầy đủ cho mục đích của mình. Câu hỏi thứ hai là liệu bạn có đang cố gắng làm quá nhiều với hệ thống của mình không và nên xem xét nâng cấp nếu có thể. Hộp Linux đầu tiên của tôi có 486 chậm trong đó và thật dễ dàng để vượt qua nó. Ví dụ: nếu bạn đang chạy trên OLPC XO, tài nguyên của bạn bị giới hạn thực sự.

Nghiêm túc mà nói, bạn không thể chạy đồng thời nhiều tài nguyên quá mức. Nếu không có quá trình nào chiếm hơn 10%, thì hệ thống của bạn sẽ bị vịt cắn chết và bạn sẽ không thể giảm tải mà không giảm những gì bạn đang làm.

Điều đó đang được nói, hãy kiểm tra các dịch vụ hệ thống của bạn và tắt bất kỳ dịch vụ nào bạn không muốn. Xem xét gỡ cài đặt những cái bạn thực sự chắc chắn rằng bạn không muốn ( sudo apt-get remove foo). Đặc biệt nếu bạn đang làm quá tải hệ thống, bất kỳ việc giảm tải nào cũng chỉ có thể giúp ích. Cố gắng thoát khỏi các chương trình bạn không sử dụng.

Nếu có một quy trình sử dụng tất cả CPU có sẵn, hãy thử tìm nó bằng cách chạy trên cùng và lưu ý về% tài nguyên mà các quy trình chính đang sử dụng. Khi bạn giết một vài người, hãy xem nếu một người tăng nhanh hơn những người khác. Tất nhiên, giết quá trình như vậy sẽ không mua cho bạn nhiều như vậy, vì nó không quá 10% tải.


Nếu tôi đang sử dụng CPU, tôi sẽ biết điều đó. Nó không chạy ở mức 100% liên tục trong quá trình hoạt động bình thường và chắc chắn không nên khi tôi đóng mọi thứ tôi có thể nghĩ là có thể sử dụng nó.
endolith

-1
  1. apt-get install cpufrequtils
  2. mở /etc/rc.conf
  3. thêm phần sau vào MODULES: MODULES=(# your-module-not-touch #acpi-cpufreq cpufreq_ondemand cpufreq_performance)
  4. Khởi động lại

Sau khi khởi động lại, bạn nên chạy cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governorsđể xem mô-đun nào được tải.

Trong quá trình làm việc, bạn có thể thay đổi các thống đốc thành bất cứ điều gì phù hợp với nhu cầu của bạn. Ví dụ:

  • cpufreq-set -r -g ondemand

Bạn có thể sử dụng một trong những thống đốc sau:

  • hiệu suất : nó chạy CPU ở xung nhịp tối đa (mô-đun cpufreq_performance:)
  • ondemand : tự động chuyển đổi giữa (các) tốc độ xung nhịp khả dụng của CPU dựa trên tải sys (mô-đun cpufreq_ondemand:)
  • bảo thủ : Tương tự ondemand, nhưng tốc độ xung nhịp của CPU (s) chuyển dần qua tất cả các tần số có sẵn (dựa trên tải sys) (mô-đun cpufreq_conservative:)
  • powersave : CPU (s) chạy ở tốc độ tối thiểu (mô-đun cpufreq_powersave:)
  • không gian người dùng : cho phép người dùng tự đặt tốc độ xung nhịp CPU. (mô-đun cpufreq_userspace:)

Nếu bạn đang sử dụng Gnome2, có một applet, thật tuyệt vời.

  1. Nhấp chuột phải vào bảng điều khiển của bạn
  2. Thêm applet
  3. bắt đầu gõ : CPU, bạn sẽ có thể thấy nó :)
  4. Nhấp chuột Add

Bằng cách sử dụng applet này, bạn có thể chuyển đổi giữa các thống đốc có sẵn (bạn đã thêm chúng vào /etc/rc.conftrước đó).

Ví dụ: tôi đang sử dụng ondemandmọi lúc, vì tôi không cần hiệu năng đầy đủ để chạy nhật thực và trình giả lập Android trên ArchLinux: P

Summa Summarum - google cho cpufrequtils và tìm hiểu cách sử dụng nó :) pckg đó đã tiết kiệm thời gian và tiền bạc của tôi; D

Chúc mừng!

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.