Ostatnio zacząłem obserwować to bardzo mylące i denerwujące, nie mówiąc już o niepokojącym zachowaniu, gdy Firefox jest otwarty, a następnie uruchamia Chromium:
Przez około 30 sekund procesy potomne Firefoksa zużywałyby wszystkie dostępne zasoby procesora, powodując zatrzymanie renderowania stron internetowych (już wyświetlana strona zawiesza się, nowe strony pokazują białą stronę z szarym kołowrotkiem), podczas gdy ogólne okno nadal reaguje (menu, przewijanie strony) , przełączanie kart, nawet wewnętrzne strony, takie jak about: config lub about: preferencje działają ...). Sam chrom nie wykazuje żadnych objawów. Natychmiastowe zakończenie Chromium, gdy Firefox się kręci, nie zatrzymuje tego zachowania szybciej.
To samo dzieje się z moim zwykłym profilem Firefox, zupełnie nowym, nietkniętym profilem Firefox bez żadnych dodatków itp. Firefox uruchomił się w trybie awaryjnym z wyłączonymi dodatkami, a Firefox uruchomił w trybie prywatnym. Podobnie jak w przypadku Chromium, mogę uruchomić go z moim zwykłym profilem, w trybie incognito lub z profilem tymczasowym, zawsze generując te same wyniki.
Nic się nie dzieje, gdy Chromium działa i otwieram Firefox.
Podczas uruchamiania Firefoksa z terminala czasami otrzymuję takie komunikaty, gdy wychodzę z niego podczas wirowania (zwróć uwagę na linię błędu rury wspominającą o chromie ipc ...):
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
O dziwo, nie mogłem odtworzyć tego zachowania na koncie gościa lub nowo utworzonym koncie zwykłym (administracyjnym).
Niektóre specyfikacje systemu (zaktualizowane):
- Ubuntu 16.04 (64-bitowy)
- Firefox
62,0 + build2-0ubuntu0.16.04.563.0 + build2-0ubuntu0.16.04.2 - Chrom
69.0.3497.81-0ubuntu0.16.04.170.0.3538.77-0ubuntu0.16.04.1 fontconfig
2.11.94-0ubuntu1.1- Sprzęt graficzny: zintegrowana grafika Intel SkyLake (i5-6200U) + Nvidia GeForce 940M
Obecnie mamnvidia-410
zainstalowany sterownik, ale przełączyłem się na główny profil Intel. Jak mogę dalej rozwiązać i naprawić ten problem?
Zrobiłem profil wydajności z rozszerzeniem Gecko Profiler, zainstalowanym na czystym świeżym profilu Firefox na moim zwykłym koncie Ubuntu. Można go znaleźć tutaj: https://perfht.ml/2zpTWsh - Niereagujący przedział czasowy ze 100% użyciem procesora powinien w przybliżeniu odpowiadać podświetlonemu obszarowi na osi czasu Content Proc, od około 18 do 56 lat.
Utworzyłem raport o błędzie Mozilli dla tego problemu: https://bugzilla.mozilla.org/show_bug.cgi?id=1504461
Ważna aktualizacja: Najwyraźniej mój raport o błędzie był duplikatem https://bugzilla.mozilla.org/show_bug.cgi?id=1495900 , co wskazuje fontconfig
na winowajcę. Wygląda na to, że uruchomienie Chromium w jakiś sposób zmienia konfigurację czcionek, co powoduje całkowite przeładowanie w Firefoksie. To pasuje do raportu profilowania wydajności, a także jest zgodne z tym, jak poprzednie aktualizacje pakietów czcionek wywołały ten sam rodzaj zawieszenia.
Jakieś pomysły, jak mogę sprawić, że trzy (Firefox, Chromium, fontconfig) zachowują się ładnie względem siebie?
źródło
Odpowiedzi:
TL; DR: Problem występuje
fontconfig
przed wersją 2.13. Można to naprawić, aktualizując pakiet do wersji 2.13 lub nowszej (chociaż nie mogłem znaleźć odpowiedniego dostawcy). Ewentualnie sprawdź wszystkie foldery związane z czcionkami i pliki konfiguracyjne w katalogu domowym i sprawdź, czy usunięcie któregokolwiek z nich rozwiązuje problem. Dla mnie zmiana nazwy załatwiła~/.fonts
sprawę.Po zapoznaniu się z raportami błędów https://bugzilla.mozilla.org/show_bug.cgi?id=1495900 i https://bugzilla.mozilla.org/show_bug.cgi?id=1411338 staje się dość jasne, że problem musi być spowodowane przez
fontconfig
.W jakiś sposób, gdy Chromium się uruchamia, powoduje zmianę bazy danych czcionek (???), co powoduje, że Firefox - jeśli jest obecnie uruchomiony - ponownie skanuje system plików w poszukiwaniu czcionek, co powoduje zużycie procesora i tymczasowe zawieszenie.
Najwyraźniej aktualizacja
fontconfig
pakietu z wersji 2.11 do 2.13 (wersja dostarczona np. W Ubuntu 18.10) powinna rozwiązać problem, ale nie znalazłem łatwego sposobu na uzyskanie tej wersji 16.04, bez zerwania zależności wielu innych pakietów, które zainstalowałem.Ponieważ problem jest ograniczony do mojego konta użytkownika, sprawdziłem konfigurację czcionek lokalnych i foldery. Jest to dość bałagan z różnych katalogów związane font-szczerze mówiąc, w tym
~/.fonts
,~/.local/share/fonts
,~/.local/share-font-manager
,~/.config/font-manager
,~/.cache/font-manager
,~/.cache/fontconfig
i kilka plików konfiguracyjnych i bardziej specyficzne dla aplikacji rzeczy czcionki.Zacząłem od usunięcia (zmiany nazwy)
~/.fonts
folderu, ponieważ i tak nie zawiera on nic przydatnego, a prostetouch ~/.fonts/Library/
wcześniej spowodowało złe zachowanie Firefoksa. Po zniknięciu tego folderu pojawił się również problem podczas uruchamiania Chromium. \ o /źródło
~/.fonts
katalogu. Wszystkie czcionki znajdują się w katalogu systemowym.fontconfig
do wersji2.13.0-5ubuntu3
kosmicznej / 18.10 rozwiązała problem AFAICT. To był najdziwniejszy błąd od jakiegoś czasu ... dzięki za wskazówki.libfontconfig1
konkretnie. Zasadniczo dodałem bioniczne mirrory doapt
listy i zastosowałem apt pin, aby uniknąć instalowania któregokolwiek z jego pakietów bez informowania o tym konkretnie. Potem po prostu używanyapt
jest-t
opcja tak:apt install fontconfig -tcosmic
. Używam mate jak DE… może to nie działa tak łatwo z innymi DE.tło
Zaproponowano ten błąd Firefoksa 1492360: Wysokie użycie procesora podczas otwierania Firefoxa przed Chrome / Chrome . To jest duplikat błędu 1495900: Uruchomienie Chrome powoduje zawieszenie procesów zawartości Firefox na około dwie minuty, ponieważ winowajcą jest ponowne skanowanie czcionek FontConfig (FcInitReinitialize) .
Ale jestem też w Firefoksie:
A kiedy otwieram Chrome:
Nie widzę żadnego spadku wydajności procesorów.
Może to być sprzeczne z twoją moralnością, ale być może możesz spróbować zainstalować
google-chrome-stable
tak jak ja. Następnie wykonaj test ponownie. Jeśli nie ma wzrostu wykorzystania procesora do 100%, raport o błędzie można złożyć między Chromium a Chrome.Jestem na Ubuntu 16.04.5 LTS. Chociaż jądro jest obecnie
4.14.78
łańcuchem LTS, nie sądzę, żeby miało to coś wspólnego, ponieważ nie zauważyłem trafień procesora w poprzednich jądrach.Jedyny raz, kiedy widzę wszystkie procesory na 100%, to podczas
update-initramfs
.fontconfig
VersonW zgłoszeniu błędu ujawniono:
W mojej wersji bez błędów (może być to spowodowane brakiem lokalnych czcionek):
Jestem w
2.11.94
wersji wcześniejszej niż2.12
wersja raportu o błędzie . W zgłoszeniu błędu aktualizacja2.13
jest zalecanym rozwiązaniem, ale OP wspomniane w komentarzach nie jest możliwe. Jako taka2.11.94
może być opcją.źródło
fontconfig
teraz. Prawdopodobnie masz różne (lub nie) lokalne czcionki zainstalowane na koncie użytkownika. Znalazłem obejście usuwania (zmiany nazwy)~/.fonts
folderu, które rozwiązuje problem. Najwyraźniej aktualizacja również dofontconfig
> = wersja 2.13 powinna to naprawić, ale nie mogę tego zrobić 16.04.ttf
używane w edytorach tekstu / arkuszach kalkulacyjnych. Niestety, musiałeś rozwiązać swoje własne pytanie o nagrodę, ale jeśli to pociecha, to samo mi się przydarzyło w przeszłości.fontconfig
jako opcję dopasowania do mojej wersji, ale jest to „słaba nadzieja”, biorąc pod uwagę, że mogłeś stamtąd pochodzić. Jeśli masz link do instalacji lokalnych czcionek, spróbuję potwierdzić / odrzucić efekt starszejfontconfig
wersji.fontconfig
jest2.11.94-0ubuntu1.1
taka, że nie jest wolna od błędów. Chyba musi to być kombinacja zainstalowanych czcionek, niestandardowej konfiguracji czcionek i czarnej magii. Sprawdź moją odpowiedź :)Sądząc z dziennika, wygląda na to, że Firefox używa synchronicznego IPC (komunikacja między procesami) z jakiegoś powodu. W Firefoksie są flagi, aby jawnie włączyć synchroniczne IPC (np .: network.cookie.ipc.sync). Jeden z nich może być włączony. Można uzyskać do nich dostęp z about: config stronie
Opóźnienie byłoby wtedy wynikiem firefox czekającego na odpowiedź. Ponieważ nie ma obciążenia, gdy Chromium kończy uruchamianie lub nie działa aktywnie, istnieje natychmiastowa reakcja.
Powiązane: https://bugzilla.mozilla.org/show_bug.cgi?id=1331680
źródło
network.cookie.ipc.sync
konfiguracji z fałszywej na prawdę iz powrotem, ponownie uruchamiając Firefoksa po każdej zmianie, ale wciąż to samo zachowanie :( Nadal nie rozumiem, dlaczego Firefox i Chromium w ogóle się komunikują, powinni pamiętać każdy biznesNie wiem, czy poniższa sugestia zadziała, czy nie. Możesz spróbować. Spróbuj całkowicie usunąć chrom i firefox (oczywiście zachowaj pliki .deb) za pomocą Menedżera pakietów Synaptic. Następnie sprawdź, czy nie ma żadnych zepsutych zależności. Napraw je za pomocą synaptic (jeśli istnieje). Teraz sprawdź zużycie procesora (używam Powertop). W końcu wykonaj świeżą ponowną instalację przeglądarek.
Uwaga: Te rzeczy są ogólnie tym, co robię w przypadku określonych nieprawidłowości. Pamiętam, że rok temu miałem do czynienia z nieco podobną kwestią. Zostało to rozwiązane w ten sposób.
źródło
Na Ubuntu 16.04 usunięcie pustego folderu
~/.local/share/fonts
rozwiązało go w moim przypadku.źródło