Kiểm tra mức độ sử dụng CPU theo tab hoặc bằng tiện ích bổ sung trên firefox trên mac [trùng lặp]


13

Phiên bản Firefox của tôi có một quy trình / luồng chạy khiến nó sử dụng 100% cpu trên MacBook Pro (OSX 10.7.4) của tôi sau vài phút. Tôi đã cố gắng sử dụng about:memoryabout:addons-memorycố gắng tìm hiểu nguyên nhân gây ra sự cố, nhưng dường như nó không liên quan đến việc sử dụng bộ nhớ. Thay vào đó, có cách nào để xem việc sử dụng CPU theo tab hoặc tiện ích bổ sung không?

Câu trả lời:


6

Trên thực tế, about:memorytab không hiển thị cấp phát bộ nhớ theo tab; nó chỉ là một chút khó khăn để tìm kiếm.

Khi bạn đi đến about:memory, bạn sẽ thấy một danh sách phân bổ bộ nhớ được sắp xếp theo thứ bậc. Mục cấp cao nhất đầu tiên trong danh sách phải là Phân bổ rõ ràng . Dưới đó là một số nút lá. Thứ bạn đang tìm kiếm là các đối tượng cửa sổ . Theo đó, hầu hết các nút có nhãn "top" đều đề cập đến các tab (nếu bạn tải một trang web, bạn sẽ thấy địa chỉ bên cạnh "top"). Ví dụ, tôi thấy:

├───29.63 MB (15.27%) -- window-objects
│   ├──12.64 MB (06.52%) ++ top(chrome://browser/content/browser.xul, id=3)
│   ├───6.84 MB (03.53%) ++ top(http://www.cnn.com/, id=31)
│   ├───4.55 MB (02.35%) ++ top(https://ftp.mozilla.org/, id=24)
│   ├───3.50 MB (01.80%) ++ (5 tiny)

Các con số ở phía trước là mức sử dụng bộ nhớ, cũng được tính theo phần trăm sử dụng bộ nhớ chung của Firefox.

Thêm vào sử dụng bộ nhớ cũng được hiển thị, nhưng không rõ ràng bằng cách thêm vào. Bạn sẽ phải tìm kiếm trong danh sách để tìm ra điều đó bằng cách tìm tất cả các thành phần thuộc về một bổ sung và thêm phân bổ bộ nhớ.

Lưu ý, tôi đang ở kênh Beta (hiện đang sử dụng Firefox 22.0b2) nhưng tôi tin rằng điều này hoạt động trên các bản phát hành cũ hơn.


cảm ơn, tôi đã không nhận thấy bất kỳ rò rỉ bộ nhớ mặc dù. có vẻ như bộ nhớ có xu hướng ở lại khá ổn định. chỉ sau một thời gian, cpu tăng đột biến và giữ nguyên như vậy.
claire

11
Câu hỏi cụ thể là về việc sử dụng CPU , không phải bộ nhớ.
laggingreflex

@laggingreflex: Vâng, tôi biết. Tôi đã trả lời câu nói "nhưng dường như nó không liên quan đến việc sử dụng bộ nhớ." Tuy nhiên, nhìn lại, có lẽ claire thực sự có nghĩa là "CPU" thay vì "bộ nhớ".
InternalPortal 30/12/13

Với Firefox 38 (chạy trên Linux), tôi phải nhấp vào Measurebên dưới Show Memory Reportsđể tạo và xem cây bạn mô tả. (Nếu điều này giống nhau trên tất cả các nền tảng, nó có thể khiến câu trả lời hoàn chỉnh hơn một chút.)
joeytwiddle

5

Có một số lý do cho việc sử dụng CPU cao trong Firefox, chi tiết bên dưới.

1.Thêm vào

Nguyên nhân thông thường cho các vấn đề CPU là một tiện ích bổ sung xấu. Thử nghiệm đầu tiên nên làm là khởi động Firefox mà không cần tiện ích bổ sung.

Từ khắc phục sự cố Firefox bằng Chế độ an toàn :

Ở đầu cửa sổ Firefox, nhấp vào nút Firefox, chuyển đến menu Trợ giúp và chọn Restart with Add-ons Disabled.... Firefox sẽ khởi động với hộp thoại Firefox Safe Mode. Lưu ý: Bạn cũng có thể khởi động Firefox ở Chế độ an toàn bằng cách giữ phím shift trong khi khởi động Firefox.

Bây giờ bạn có hai lựa chọn:

Nhấp vào nút Bắt đầu trong Chế độ an toàn sẽ tạm thời vô hiệu hóa tiện ích mở rộng và chủ đề của bạn, tắt tăng tốc phần cứng và đặt lại thanh công cụ và các tùy chỉnh nút. Khi bạn rời Chế độ an toàn và khởi động Firefox bình thường, các tiện ích mở rộng, chủ đề và cài đặt của bạn sẽ trở về trạng thái trước khi bạn vào Chế độ an toàn.

Nếu ở chế độ An toàn, bạn không gặp vấn đề về CPU, thì vấn đề là do một trong các tiện ích bổ sung của bạn. Bạn có thể sử dụng menu Tools > Add-onsđể vô hiệu hóa có chọn lọc các tiện ích bổ sung và khởi động lại Firefox cho đến khi bạn tìm thấy tiện ích xấu.

2.Flash

Flash được biết đến với những vấn đề như vậy. Một trong những cách khắc phục thông thường là vô hiệu hóa Tăng tốc phần cứng của Firefox bằng cách sử dụng menu Tools > Options, tab Nâng cao, để bỏ chọn Use Hardware Acceleration When Available.

Hai tiện ích bổ sung Adblock PlusNoScript được khuyến nghị để chặn có chọn lọc các yếu tố không cần thiết, bao gồm Flash, trên trang bạn đang xem.

3.JavaScript

JavaScript trong trang web bạn đang xem trong một trong các tab của bạn có thể bị mã hóa xấu và lãng phí CPU bằng cách lặp.

Biện pháp khắc phục tốt nhất là sử dụng NoScript để tránh thực thi JavaScript từ các trang web mà bạn không tin tưởng. Đây cũng là một biện pháp bảo mật mà bất cứ ai cũng nên sử dụng để tránh khai thác kịch bản chéo trang .

4. Lập kế hoạch

Nếu không rõ trang web nào gây ra CPU cao, người ta có thể sử dụng hồ sơ trong Firefox, mặc dù đây không phải là một bài tập đơn giản.

Trình gỡ lỗi cũng làm hồ sơ là:

Nếu bạn là nhà phát triển và cảm thấy thích phiêu lưu, và vì bạn đang ở trên Mac, bạn có thể sử dụng DTrace như được giải thích trong Hiệu suất / Tối ưu hóa JavaScript với DTrace , đây là công cụ mà các nhà phát triển Mozilla sử dụng.


3

@claire: Hiện tại không có cách 'dễ dàng', để xem những gì bạn muốn. Nếu bạn đi theo cách của harrymc, bạn sẽ tìm thấy một số thông tin về nguồn gốc của vấn đề, nhưng có thể không chắc chắn.

Nếu bạn muốn đi theo cách 'khó khăn', điều đó sẽ cho bạn thấy CPU nào đang ăn CPU trong firefox và / hoặc đó là plugin, bạn cần bắt đầu gỡ lỗi firefox trong môi trường của mình (đôi khi không chỉ là firefox và hoặc chính plugin, nhưng một lib bị hỏng họ dựa vào). Dưới đây là một lời giải thích đầy đủ về nóng để làm điều đó, nếu bạn có một số ý tưởng về lập trình. XCode được tải xuống miễn phí từ apple:

https://developer.mozilla.org/en-US/docs/Debugging_on_Mac_OS_X

Nhưng bạn không cần gỡ lỗi mã mozilla đầy đủ, nhưng bạn sẽ tìm thấy điểm tương quan với việc sử dụng CPU. Điều đó có thể cho bạn biết chính xác vấn đề đến từ đâu (vòng lặp xấu như vậy, v.v.).


1

Nếu vì một lý do nào đó, Firefox của bạn chiếm hết và ăn hết mức sử dụng CPU của bạn, thì bạn có thể cố gắng hạn chế không. của bộ xử lý và mức độ ưu tiên mà CPU sẽ dành cho quá trình đó để giảm mức sử dụng CPU.

Để thực hiện việc này, nhấp ( Ctrl+ Alt+ Del) để mở Trình quản lý tác vụ và sau đó nhấp vào tab quy trình (trình duyệt hiển thị tất cả quy trình với tiện ích mở rộng của chúng (về cơ bản như trên Windows, tất cả quá trình sẽ kết thúc bằng phần mở rộng .exe). Nhấp chuột phải trên đó và chọn Chọn mức độ ưu tiên để đặt mức độ ưu tiên (Nếu nó được đặt thành cao hơn bình thường thì hãy đặt nó thành bình thường, nếu không, nếu nó được đặt thành bình thường và bạn muốn hạ thấp nó hơn là chọn giá trị thấp hơn bình thường) và Đặt Ám ảnh để giới hạn không có bộ xử lý nào đóng góp cho quá trình đó. Đặt số bộ xử lý bạn muốn và sau đó nhấp vào ok để quay lại. Kiểm tra xem liệu bộ xử lý này có hoạt động không.

Hãy nhớ điều này chỉ hoạt động đối với các máy tính đa bộ xử lý (như lõi kép, lõi tứ, v.v.) và việc sử dụng CPU khác với sử dụng bộ nhớ.


1
Xin lỗi vì lỗi của tôi, tôi quên đọc rằng bạn đang sử dụng firefox trên MAC. Tôi không có nhiều kinh nghiệm với MAC nhưng nếu nó chứa bất kỳ trình quản lý tác vụ nào như windows one, thì phương thức này chỉ hoạt động cho hệ thống windows.
Thợ săn

3
Đây là một lời khuyên tốt nhưng không có cách nào thậm chí gần với việc trả lời câu hỏi thực tế.
laggingreflex
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.