Firefox đóng băng với mức sử dụng CPU 100% trong 30 giây khi khởi chạy Chromium


22

Gần đây tôi bắt đầu quan sát điều này rất khó hiểu và khó chịu, không nói hành vi đáng lo ngại khi mở Firefox và sau đó khởi chạy Chromium:

Trong khoảng 30 giây, các tiến trình con của Firefox sẽ tiêu tốn tất cả tài nguyên CPU có sẵn, khiến các trang web ngừng kết xuất (trang đã được hiển thị, trang mới hiển thị trang trắng có vòng tròn quay màu xám) trong khi cửa sổ tổng thể vẫn phản hồi (menu, cuộn trang , chuyển đổi tab, thậm chí các trang nội bộ như about: config hoặc about: Preferences hoạt động ...). Bản thân Chromium không hiển thị bất kỳ triệu chứng nào. Chấm dứt lại Chromium ngay lập tức, trong khi Firefox đang quay, không dừng hành vi nhanh hơn nữa.

Điều tương tự cũng xảy ra với hồ sơ Firefox thông thường của tôi, một hồ sơ Firefox hoàn toàn mới, chưa được xử lý mà không có bất kỳ tiện ích bổ sung nào, v.v., Firefox bắt đầu ở chế độ an toàn với các tiện ích bổ sung bị vô hiệu hóa và Firefox bắt đầu ở chế độ riêng tư. Tương tự như Chromium, tôi có thể khởi chạy nó với hồ sơ thông thường của mình, ở chế độ ẩn danh hoặc với cấu hình tạm thời, luôn tạo ra kết quả tương tự.

Không có gì kỳ lạ xảy ra khi Chromium đang chạy và tôi mở Firefox.

Khi khởi chạy Firefox từ một thiết bị đầu cuối, đôi khi tôi nhận được những thông báo như thế này khi tôi thoát nó trong khi nó đang quay (lưu ý dòng lỗi đường ống đề cập đến một số ipc crom ...):

ExceptionHandler::GenerateDump cloned child 32165
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[Parent 26520, Gecko_IOThread] WARNING: pipe error (52): Connection reset by peer: file /build/firefox-8oo9jx/firefox-62.0+build2/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 353
ExceptionHandler::GenerateDump cloned child 32274
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
ExceptionHandler::SendContinueSignalToChild sent continue signal to child

Kỳ lạ là tôi không thể sao chép hành vi đó trong tài khoản khách hoặc tài khoản (quản trị viên) thông thường mới được tạo.

Một số thông số kỹ thuật hệ thống (cập nhật):

  • Ubuntu 16.04 (64 bit)
  • Firefox 62.0 + build2-0ubfox0.16.04.5 63.0 + build2-0ubfox0.16.04.2
  • Crom 69.0.3497.81-0ubfox0.16.04.1 70.0.3538.77-0ubfox0.16.04.1
  • fontconfig 2.11.94-0ubfox1.1
  • Phần cứng đồ họa: Đồ họa tích hợp Intel SkyLake (i5-6200U) + Nvidia GeForce 940M
    Hiện tại tôi đã nvidia-410cài đặt trình điều khiển, nhưng đã chuyển sang cấu hình chính của Intel. Làm thế nào tôi có thể khắc phục sự cố và khắc phục vấn đề này?

Tôi đã tạo một hồ sơ hiệu suất với Tiện ích mở rộng Gecko Profiler, được cài đặt thành một hồ sơ Firefox mới trong tài khoản Ubuntu thông thường của tôi. Bạn có thể tìm thấy ở đây: https://perfht.ml/2zpTWsh - Khung thời gian không phản hồi với mức sử dụng CPU 100% sẽ tương ứng với vùng được tô sáng trên các mốc thời gian của Content Proc, từ khoảng 18 - 56 giây.

Tôi đã tạo một báo cáo lỗi Mozilla cho vấn đề này: https://ormszilla.mozilla.org/show_orms.cgi?id=1504461

Cập nhật quan trọng: Rõ ràng báo cáo lỗi của tôi là một bản sao của https://ormszilla.mozilla.org/show_orms.cgi?id=1495900 , được chỉ ra fontconfiglà thủ phạm. Có vẻ như bắt đầu Chromium đang thực hiện thay đổi cấu hình phông chữ bằng cách nào đó, điều này kích hoạt tải lại hoàn toàn trong Firefox. Điều này phù hợp với báo cáo hồ sơ hiệu suất và cũng phù hợp với cách các bản cập nhật trước đây cho các gói phông chữ đã kích hoạt cùng loại đóng băng.

Bất kỳ ý tưởng nào làm thế nào tôi có thể làm cho ba (Firefox, Chromium, fontconfig) cư xử độc đáo với nhau?


Tất cả những gì tôi tìm thấy ở dòng 353 của ipc_channel_posix.cc là một tuyên bố đúng. Tất nhiên, phần còn lại của Kết nối bằng cách gây tử vong không bao giờ là điềm lành. Đáng buồn là tôi không thể tái tạo vấn đề này. Tôi ước tôi có thể được giúp đỡ nhiều hơn.
Anh Cả Geek

Tôi cũng gặp vấn đề lẻ tẻ với cpu cao trên Ubuntu, nhưng tôi không thể nói điều gì đã gây ra hoặc giải quyết nó. Có rất nhiều vấn đề mở mà tôi đang theo dõi liên quan đến việc sử dụng cpu cao - vì vậy, tôi sẽ nâng cấp và hy vọng. Hiện tại, tôi không gặp vấn đề gì (hoặc nếu có, đó là một tab cụ thể; vì vậy, khởi động lại trình duyệt hoặc đóng tab sẽ giải quyết nó). Có thể nâng cấp từ 16.04 lên 18.10 (tất nhiên, 16.04 là từ 4/2016 và 18.10 kể từ 8/2018) ...? Và, fwiw, tôi cũng đã chuyển sang kubfox, điều này dường như khiến tôi bớt đau đầu hơn. (Nếu có thể, hãy khởi động từ USB và thử nghiệm với cả hai.)
michael

Đôi khi, tôi có Firefox đang chạy và sau đó mở Chrome (tôi biết nó hơi khác một chút) và không nhận thấy bất kỳ mức sử dụng CPU cao nào. Có lẽ 5 giây tăng vọt từ CPU 18% đến 30% CPU trên 8 CPU ảo.
WinEunuuchs2Unix

Câu trả lời:


17

TL; DR: Đây là một vấn đề với fontconfigtrước phiên bản 2.13. Nó có thể được sửa bằng cách nâng cấp gói lên 2,13 hoặc cao hơn (mặc dù tôi không thể tìm được nhà cung cấp phù hợp). Ngoài ra, kiểm tra tất cả các thư mục và tệp cấu hình liên quan đến phông chữ trong thư mục chính của bạn và kiểm tra nếu loại bỏ bất kỳ thư mục nào giải quyết vấn đề của bạn. Đối với tôi, đổi tên ~/.fontsđã lừa


Sau khi tìm hiểu về các báo cáo lỗi https://ormszilla.mozilla.org/show_orms.cgi?id=1495900https://bugzilla.mozilla.org/show_orms.cgi?id=1411338 , vấn đề phải trở nên rõ ràng hơn gây ra bởi fontconfig.

Bằng cách nào đó khi Chromium khởi động, nó kích hoạt thay đổi cơ sở dữ liệu phông chữ (???), điều này khiến Firefox - nếu hiện đang chạy - quét lại hệ thống tệp để tìm phông chữ bằng cách nào đó, dẫn đến việc sử dụng CPU và đóng băng tạm thời.

Rõ ràng việc cập nhật fontconfiggói từ phiên bản 2.11 lên 2.13 (phiên bản được gửi, ví dụ trong Ubuntu 18.10) sẽ khắc phục sự cố, nhưng tôi không tìm thấy cách nào dễ dàng để có phiên bản đó vào ngày 16.04, mà không phá vỡ sự phụ thuộc của rất nhiều gói khác mà tôi đã cài đặt.

Vì vậy, vấn đề được giới hạn trong tài khoản người dùng của tôi, tôi đã kiểm tra các thư mục và cấu hình phông chữ cục bộ của người dùng. Có khá một mớ hỗn độn các thư mục font-liên quan khác phải trung thực, bao gồm ~/.fonts, ~/.local/share/fonts, ~/.local/share-font-manager, ~/.config/font-manager, ~/.cache/font-manager, ~/.cache/fontconfigvà một vài tác phẩm nhiều cấu hình và ứng dụng cụ thể thứ chữ.

Tôi đã bắt đầu bằng cách xóa (đổi tên) ~/.fontsthư mục, vì dù sao nó dường như không chứa bất cứ thứ gì hữu ích, và một điều đơn giản touch ~/.fonts/Library/trước đó đã kích hoạt hành vi sai trái của Firefox. Sau khi thư mục đó biến mất, vấn đề là khi khởi chạy Chromium. \ o /


Làm cho ý nghĩa như tôi không có ~/.fontsthư mục. Tất cả các phông chữ là trong một thư mục toàn hệ thống.
WinEunuuchs2Unix

Rõ ràng một lỗi tương tự hoặc thậm chí cùng một lỗi có thể được kích hoạt vào ngày 18.04 bằng cách khởi chạy một cửa sổ thiết bị đầu cuối gốc. strace chỉ ra một số tập tin nghiêm trọng liên quan đến tập tin phông chữ. Thật thú vị, đây không chỉ là vấn đề với firefox mà còn các ứng dụng xorg khác vì vậy tôi cũng đoán là có vấn đề trong xorg. Thật không may xóa các thư mục trong câu hỏi đã không giúp đỡ.
stefanct

1
Tuy nhiên, nâng cấp fontconfiglên 2.13.0-5ubuntu3từ vũ trụ / 18.10 đã giải quyết vấn đề AFAICT. Đây là lỗi kỳ lạ nhất trong một thời gian ... cảm ơn vì con trỏ.
stefanct

@stefanct làm thế nào để bạn cài đặt nó mà không làm hỏng nội dung, tôi đã thử buộc fontconfig và libfontconfig1 2.13 và apt muốn xóa toàn bộ DE của tôi, chạy 18.04
GM-Script-Writer-

@ GM-Script-Writer-62850 Tôi không nhớ gì về việc xử lý libfontconfig1cụ thể. Nói chung, tôi đã thêm các gương bionic vào aptdanh sách của mình và áp dụng ghim apt để tránh cài đặt bất kỳ gói nào của nó mà không nói cụ thể. Sau đó, tôi chỉ đơn giản là sử dụng apt's -ttùy chọn như vậy: apt install fontconfig -tcosmic. Tôi đang sử dụng mate như DE Đổi có lẽ nó không hoạt động dễ dàng với các DE khác.
stefanct

3

Lý lịch

Nó đã được đề xuất Firefox Bug 1492360 này: Sử dụng CPU cao khi mở firefox trước chrome / chromium . Đó là bản sao của Bug 1495900: Khởi động Chrome khiến các quy trình nội dung của Firefox bị treo trong khoảng hai phút, do quét lại phông chữ FontConfig (FcInitReinitialize) , là thủ phạm.

Nhưng tôi cũng đang ở trên Firefox:

Phiên bản Firefox.png

Và khi tôi mở Chrome:

Phiên bản Chrome.png

Tôi không thấy bất kỳ hiệu suất nào ảnh hưởng đến CPU.

Nó có thể chống lại đạo đức của bạn nhưng có lẽ bạn có thể thử cài đặt google-chrome-stablenhư tôi có. Sau đó làm lại bài kiểm tra. Nếu không có mức sử dụng CPU tăng đột biến đến 100% thì có thể gửi báo cáo lỗi giữa Chromium và Chrome.

Tôi đang dùng Ubuntu 16.04.5 LTS. Mặc dù kernel hiện là 4.14.78chuỗi LTS nhưng tôi không nghĩ nó có liên quan gì đến nó vì tôi cũng không nhận thấy các lần truy cập CPU vào các nhân trước đó.

Lần duy nhất tôi thấy tất cả CPU ở mức 100% là trong thời gian update-initramfs.


fontconfig verson

Trong báo cáo lỗi, nó được tiết lộ:

$ dpkg -l 'fontconfig*' | grep "^ii"
ii  fontconfig        2.12.6-0ubuntu2 amd64        generic font configuration library - support binaries
ii  fontconfig-config 2.12.6-0ubuntu2 all          generic font configuration library - configuration

Trong phiên bản không có lỗi của tôi (có thể là do không có phông chữ cục bộ):

$ dpkg -l 'fontconfig*' | grep "^ii"
ii  fontconfig        2.11.94-0ubuntu1.1 amd64        generic font configuration library - support binaries
ii  fontconfig-config 2.11.94-0ubuntu1.1 all          generic font configuration library - configuration

Tôi đang ở 2.11.94phiên bản sớm hơn 2.12phiên bản báo cáo lỗi . Trong báo cáo lỗi nâng cấp lên 2.13là một giải pháp được đề xuất nhưng OP đã đề cập trong các bình luận, điều này là không thể. Như vậy 2.11.94 có thể là một lựa chọn.


À không, tôi không có ý định cài đặt Chrome. Tuy nhiên, tôi phát hiện ra rằng thủ phạm là fontconfigbây giờ. Có thể bạn có các phông chữ cục bộ khác nhau (hoặc không) được cài đặt trong tài khoản người dùng của bạn. Tôi tìm thấy một cách giải quyết của việc xóa (đổi tên) ~/.fontsthư mục để khắc phục sự cố. Rõ ràng cũng nâng cấp lên fontconfig> = phiên bản 2.13 nên sửa nó, nhưng tôi không thể làm điều đó vào ngày 16.04.
Chỉ huy Byte

Có, các phông chữ duy nhất tôi đã cài đặt là cho mã vạch (mã 3 trên 9) được ttfsử dụng trong trình xử lý văn bản / bảng tính. Thật không may, bạn đã phải giải quyết câu hỏi tiền thưởng của riêng bạn nhưng nếu đó là bất kỳ sự an ủi nào thì điều tương tự đã xảy ra với tôi trong quá khứ.
WinEunuuchs2Unix

Tôi đã thêm hạ cấp fontconfignhư một tùy chọn để phù hợp với phiên bản của mình nhưng đó là một "hy vọng mờ nhạt" cho bạn có thể đã đến từ đó. Nếu bạn có một liên kết để cài đặt phông chữ cục bộ, tôi sẽ cố gắng xác nhận / từ chối hiệu ứng của fontconfigphiên bản cũ hơn .
WinEunuuchs2Unix

Phiên bản của tôi fontconfig2.11.94-0ubuntu1.1quá, mà người ta không là lỗi-miễn phí. Nó phải là sự kết hợp của các phông chữ được cài đặt, cấu hình phông chữ tùy chỉnh và ma thuật đen, tôi đoán vậy. Kiểm tra câu trả lời của tôi. :)
Chỉ huy Byte

1

Đánh giá từ nhật ký, có vẻ như Firefox đang sử dụng IPC đồng bộ (Giao tiếp giữa các quá trình) vì một số lý do. Có các cờ trong Firefox để bật IPC đồng bộ một cách rõ ràng (ví dụ: network.cookie.ipc.sync). Một trong số đó có thể được kích hoạt. Bạn có thể truy cập vào các từ about: config trang

Sự chậm trễ sau đó sẽ là kết quả của firefox chờ phản hồi. Vì không có tải khi Chromium đã khởi động xong hoặc không hoạt động, nên có phản hồi ngay lập tức.

Liên quan: https://ormszilla.mozilla.org/show_orms.cgi?id=1331680


Tôi đã chuyển giá trị của network.cookie.ipc.synccấu hình này từ sai thành đúng và ngược lại, khởi động lại Firefox sau mỗi thay đổi, nhưng vẫn giữ nguyên hành vi :( Tôi vẫn không hiểu tại sao Firefox và Chromium thậm chí sẽ giao tiếp ngay từ đầu, họ nên quan tâm đến chính họ kinh doanh mỗi.
Chỉ huy Byte

1
Tôi đã xóa cái này vì bạn thấy lý do thực sự không liên quan, nhưng tôi đoán tôi nên để nó ở đây là nguyên nhân có thể xảy ra?
Aswin B

0

Không biết gợi ý sau có hiệu quả hay không. Bạn có thể thử. Hãy thử loại bỏ hoàn toàn crom và firefox (dĩ nhiên giữ các tệp .deb) bằng Trình quản lý gói Synaptic. Sau đó kiểm tra nếu có bất kỳ phụ thuộc bị hỏng. Sửa chúng bằng synaptic (nếu có). Bây giờ hãy kiểm tra việc sử dụng CPU (tôi sử dụng Powertop). Cuối cùng, hãy cài đặt lại các trình duyệt.

Lưu ý: Những điều này thường là những gì tôi làm trong trường hợp bất thường cụ thể. Tôi nhớ phải đối mặt với một vấn đề hơi giống một năm trước. Nó đã được giải quyết theo cách này.


Không, thanh trừng và cài đặt lại tất cả các gói firefox * và chromium * không thay đổi bất cứ điều gì.
Chỉ huy Byte

các tiện ích thống kê tần số và tần số nhàn rỗi của powertop hiển thị mức sử dụng 100% khi bạn khởi chạy crom?
Hirak

Có, nó hiển thị khoảng 112% cho "C0 hoạt động" trên mọi lõi trong các số liệu thống kê nhàn rỗi và các thống kê tần số báo cáo tần số tối đa (2,7GHz) và 0% không hoạt động trên mỗi lõi. Tab tổng quan hiển thị tất cả các quy trình Firefox ở đầu danh sách, với thời gian tính toán khoảng 600-900ms / giây, nhưng không có sự kiện / s.
Chỉ huy Byte

0

Trên Ubuntu 16.04, việc xóa thư mục trống đã ~/.local/share/fontsgiải quyết nó trong trường hợp của tôi.

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.