Chromium'u başlatırken 30 saniye boyunca% 100 CPU kullanımı ile Firefox dondurma


22

Son zamanlarda Firefox'u açarken ve daha sonra Chromium'u başlatırken endişe verici davranışı söylememek için bu çok kafa karıştırıcı ve sinir bozucu gözlemlemeye başladı:

Yaklaşık 30 saniye boyunca, Firefox'un alt süreçleri mevcut tüm CPU kaynaklarını tüketir ve genel pencere hala yanıt verirken (menüler, sayfa kaydırma) web sitelerinin oluşturmayı durdurmasına (zaten görüntülenen sayfa donuyor, yeni sayfalar gri dönen daireyle beyaz bir sayfa gösterir) neden olur. , sekme değiştirme, about: config veya about: preferences work gibi dahili sayfalar bile). Kromun kendisi herhangi bir belirti göstermez. Firefox dönerken Chromium'u hemen sonlandırmak, davranışı daha hızlı durdurmaz.

Aynı şey, eklentiler vb. Olmadan yepyeni, el değmemiş bir Firefox profili olan normal Firefox profilim, Firefox eklentiler devre dışı bırakıldığında güvenli modda başladı ve Firefox özel modda başladı. Chromium'a benzer şekilde, her zaman aynı sonuçları üreten normal profilimle, gizli modda veya geçici bir profille başlatabilirim.

Chromium çalışırken garip bir şey yok ve ben Firefox'u açıyorum.

Bir terminalden Firefox'u başlatırken, bazen dönerken çıkarken böyle mesajlar alıyorum (bazı krom ipc'den bahseden boru hata çizgisine dikkat edin ...):

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

Garip bir şekilde bir konuk hesabında veya yeni oluşturulan normal (admin) bir hesapta bu davranışı yeniden oluşturamadım.

Bazı sistem özellikleri (güncellendi):

  • Ubuntu 16.04 (64 bit)
  • Firefox 62.0 + build2-0ubuntu0.16.04.5 63.0 + build2-0ubuntu0.16.04.2
  • Krom 69.0.3497.81-0ubuntu0.16.04.1 70.0.3538.77-0ubuntu0.16.04.1
  • fontconfig 2.11.94-0ubuntu1.1
  • Grafik donanımı: Intel SkyLake tümleşik grafik kartı (i5-6200U) + Nvidia GeForce 940M
    Şu anda nvidia-410sürücüyü yükledim, ancak Intel ana profiline geçtim . Bu sorunu nasıl giderebilir ve düzeltebilirim?

Normal Ubuntu hesabımda temiz bir Firefox profiline yüklenen Gecko Profiler Uzantısı ile bir performans profili yaptım. Burada bulunabilir: https://perfht.ml/2zpTWsh -% 100 CPU kullanımı ile yanıt vermeyen zaman dilimi kabaca İçerik Proc zaman çizelgelerinde yaklaşık 18s - 56s arasında vurgulanan alana karşılık gelmelidir.

Bu sorun için bir Mozilla hata raporu oluşturdum: https://bugzilla.mozilla.org/show_bug.cgi?id=1504461

Önemli güncelleme: Görünüşe göre hata raporum, suçlu olarak dikkat çeken https://bugzilla.mozilla.org/show_bug.cgi?id=1495900 kopyasıydı fontconfig. Chromium'u başlatmak, font yapılandırmasında bir şekilde değişiklik yapıyor gibi görünüyor, bu da Firefox'ta tam bir yeniden yüklemeyi tetikliyor. Bu, performans profili oluşturma raporuna uyar ve ayrıca yazı tipi paketlerindeki eski güncellemelerin aynı tür donmayı nasıl tetiklediğiyle aynı hizaya gelir.

Üçünün (Firefox, Chromium, fontconfig) birbirleriyle güzelce nasıl davranabileceğine dair bir fikrim var mı?


I ipc_channel_posix.cc 353 satırında bulduğum tüm bir dönüş doğru ifadesidir. Tabii ki akran ölümcül olan bağlantı dinlenme asla iyi bağlar. Ne yazık ki bu sorunu yeniden oluşturamıyorum. Keşke daha fazla yardımcı olabilseydim.
Elder Geek

Ayrıca ubuntu üzerinde yüksek cpu w / sporadik sorunları vardı, ama ne neden olduğunu söyleyemem ya da çözdü. Yüksek cpu kullanımı ile ilgili izlediğim çok sayıda açık sorun vardı - bu yüzden yükseltme ve umut ediyorum. Şu anda, herhangi bir sorunum yok (ya da yaparsam, belirli bir sekme; bu nedenle, tarayıcıyı yeniden başlatmak veya sekmeyi kapatmak sorunu çözer). 16.04'ten 18.10'a yükseltmek mümkün mü (elbette 16.04 4/2016'dan 18.10'a kadar 8/2018'den itibaren) ...? Ve fwiw, bana daha az baş ağrısı veren kubuntu'ya da geçtim. (Mümkünse USB'den önyükleme yapın ve her ikisini de deneyin.)
michael

Bazen Firefox çalışıyor ve sonra Chrome'u açıyorum (biraz farklı olduğunu biliyorum) ve yüksek CPU kullanımı fark etmedim. Belki de 8 sanal CPU'da% 18 CPU'dan% 30 CPU'ya 5 saniyelik artış.
WinEunuuchs2Unix

Yanıtlar:


17

TL; DR:fontconfig 2.13 sürümünden önceki bir sorun . Paketi uygun bir sağlayıcı bulamamış olsam da paketi 2.13 veya daha yüksek bir sürüme yükselterek düzeltilebilir. Alternatif olarak, fontlarla ilgili tüm klasörlerinizi ve ana dizininizdeki yapılandırma dosyalarını inceleyin ve bunlardan herhangi birinin kaldırılmasının sorununuzu çözüp çözmediğini test edin. Benim için, yeniden adlandırma ~/.fontshile yaptı.


Hata raporları hakkında bilgi edindikten sonra https://bugzilla.mozilla.org/show_bug.cgi?id=1495900 ve https://bugzilla.mozilla.org/show_bug.cgi?id=1411338 sorunun olması gerektiği açıkça ortaya çıkıyor neden olur fontconfig.

Bir şekilde Chromium başladığında, font veritabanında (???) bir değişiklik başlatır ve bu da Firefox'un (şu anda çalışıyorsa) dosya sistemini bir şekilde yazı tiplerine karşı yeniden taramasına neden olarak CPU kullanımı ve geçici donmaya neden olur.

Görünüşe göre fontconfigpaketi 2.11'den 2.13'e (Ubuntu 18.10'da gönderilen sürüm) güncellemek sorunu çözmelidir, ancak yüklediğim diğer paketlerin bağımlılıklarını bozmadan 16.04'te bu sürümü almanın kolay bir yolunu bulamadım.

Sorun kullanıcı hesabımla sınırlı olduğundan, kullanıcının yerel yazı tipi yapılandırmasını ve klasörlerini inceledim. Farklı font-ilişkili dizinleri, biraz pis, dürüst olmak var dahil ~/.fonts, ~/.local/share/fonts, ~/.local/share-font-manager, ~/.config/font-manager, ~/.cache/font-manager, ~/.cache/fontconfigve birkaç yapılandırma dosyaları ve uygulamaya özel yazı şeyler.

~/.fontsZaten yararlı bir şey içermiyor gibi göründüğü için klasörü kaldırarak (yeniden adlandırarak) başladım ve daha touch ~/.fonts/Library/önce Firefox'un yanlış davranışını tetikledi. Bu klasör gittikten sonra Chromium'u başlatırken sorun da ortadan kalktı. \Ö/


~/.fontsDizinin olmadığı için mantıklı . Tüm yazı tipleri sistem çapında bir dizindedir.
WinEunuuchs2Unix

Görünüşe göre benzer bir hatta aynı hata bir kök terminal penceresi de başlatılarak 18.04'te tetiklenebilir. strace, font dosyalarıyla ilgili bazı ciddi dosya giriş / çıkışlarını gösterir. İlginçtir, bu sadece firefox ile ilgili bir sorun değil, ancak diğer xorg uygulamalarının yanı sıra xorg içinde de bir sorun olduğunu varsayıyorum. Maalesef söz konusu dizinleri silmek yardımcı olmadı.
stefanct

1
Ancak, yükseltme fontconfigiçin 2.13.0-5ubuntu318.10 / kozmik yaptım gelen sorun AFAICT çözmek. Bu bir süredir en tuhaf hataydı ... işaretçiler için teşekkürler.
stefanct

@stefanct nasıl şeyler kırmadan yüklemek için aldın, ben fontconfig ve libfontconfig1 2.13 zorlamaya çalıştı ve apt 18.04
GM-Script-Writer-62850

@ GM-Script-Writer-62850 libfontconfig1Özellikle uğraştığım bir anım yok . Genel olarak biyonik aynaları aptlisteye ekledim ve paketlerinden herhangi birini özel olarak söylemeden yüklemekten kaçınmak için uygun sabitleme uyguladım. Sonra ben sadece kullanılan apt'ın -tşöyle seçeneği: apt install fontconfig -tcosmic. Dostum DE olarak kullanıyorum ... belki de diğer DE'lerle kolay çalışmaz.
stefanct

3

Arka fon

Bu Firefox Bug 1492360 önerildi: Krom / kromdan önce firefox açıldığında yüksek CPU kullanımı . Bu, Hata 1495900'ün bir kopyasıdır: Chrome'u başlatmak, FontConfig yazı tipi yeniden taraması (FcInitReinitialize) nedeniyle Firefox içerik işlemlerini yaklaşık iki dakika bekletir , suçludur .

Ama ben de Firefox'tayım:

Firefox version.png

Chrome'u açtığımda:

Chrome sürümü.png

CPU'lara isabet eden bir performans görmüyorum.

Ahlakınıza karşı olabilir ama belki benim google-chrome-stablegibi yüklemeyi deneyebilirsiniz . Ardından testi tekrarlayın. % 100'e kadar CPU kullanım artışı olmazsa Chromium ve Chrome arasında bir hata raporu dosyalanabilir.

Ubuntu 16.04.5 LTS'deyim. Çekirdek şu anda 4.14.78LTS zinciri olmasına rağmen , önceki çekirdeklerde CPU isabetlerini fark etmediğim için bununla bir ilgisi olduğunu düşünmüyorum.

Tüm CPU'ları% 100'de gördüğüm tek zaman sırasında update-initramfs.


fontconfig verson

Hata raporunda ortaya çıkıyor:

$ 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

Buggy olmayan versiyonumda (yerel yazı tipleri olmasa da olabilir):

$ 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

Ben de değilim 2.11.94hata raporu daha sürümünü önceden 2.12sürümü. Hata raporuna yükseltme yapılması 2.13önerilen bir çözümdür ancak yorumlarda bahsedilen OP bu mümkün değildir. Bu nedenle bir seçenek 2.11.94 olabilir .


Hayır, Chrome'u yüklemeyi düşünmüyorum. Ancak, suçlunun fontconfigşimdi olduğunu öğrendim . Muhtemelen kullanıcı hesabınıza yüklenmiş farklı yerel yazı tipleriniz vardır (veya hiç yoktur). ~/.fontsSorunu gideren klasörü kaldırma (yeniden adlandırma) için bir geçici çözüm buldum . Görünüşe göre fontconfig> = 2.13 sürümüne yükseltme de düzeltmelidir, ancak bunu 16.04'te yapamam.
Byte Komutanı

Evet, yüklediğim tek yazı tipi ttfkelime işlemci / elektronik tablolarda kullanılan ve kullanılan barkodlar (kod 3/9) içindir. Maalesef kendi ödül sorunuzu çözmek zorunda kaldınız, ama eğer teselli ise geçmişte de aynı şey oldu.
WinEunuuchs2Unix

Sürümümü fontconfigeşleştirmek için bir seçenek olarak indirmeyi ekledim , ancak oradan gelmiş olabileceğiniz göz önüne alındığında bu "zayıf bir umut". Yerel yazı tiplerini yüklemek için bir bağlantınız varsa, eski fontconfigsürümün etkisini onaylamaya / reddetmeye çalışacağım .
WinEunuuchs2Unix

Benim versiyonu fontconfigolan 2.11.94-0ubuntu1.1bir hata içermeyen olmadığını da. Yüklü yazı tiplerinin, özel yazı tipi yapılandırmasının ve kara büyünün bir kombinasyonu olmalı, sanırım. Cevabımı kontrol et. :)
Byte Komutanı

1

Günlükten bakıldığında, Firefox'un bir nedenden dolayı senkronize IPC (İşlemler arası iletişim) kullanıyor gibi görünüyor. Firefox'ta senkronize IPC'yi açıkça açmak için bayraklar vardır (örn: network.cookie.ipc.sync). Bunlardan biri etkinleştirilmiş olabilir. Bunlara about: config adresinden erişebilirsiniz. sayfasından

Bu gecikme, firefox'un yanıtta beklemesinin bir sonucu olacaktır. Chromium başlatmayı bitirdiğinde veya aktif olarak çalışmadığında yük olmadığından, anında bir yanıt vardır.

İlgili: https://bugzilla.mozilla.org/show_bug.cgi?id=1331680


Bu network.cookie.ipc.syncyapılandırmanın değerini yanlıştan doğruya ve geri değiştirdim, her değişiklikten sonra Firefox'u yeniden başlattım, ancak yine de aynı davranış :( Hala Firefox ve Chromium'un neden ilk etapta iletişim kuracağını anlamıyorum, iş her
Byte Komutanı

1
İlişkisiz olmanın gerçek nedenini bulduğunuz için bunu sildim, ama sanırım bunu olası neden olarak burada bırakmalıyım?
Aswin B

0

Aşağıdaki önerinin işe yarayıp yaramayacağını bilmiyorum. Bir deneyebilirsiniz. Synaptic Package Manager'ı kullanarak krom ve firefox'u tamamen kaldırmayı deneyin (elbette .deb dosyalarını saklayın). Bundan sonra herhangi bir kırık bağımlılık olup olmadığını kontrol edin. Sinaptik (varsa) kullanarak bunları düzeltin. Şimdi CPU kullanımını kontrol edin (Powertop kullanıyorum) .Sonra tarayıcıların yeni kurulumunu yapın.

Not: Bunlar genellikle belirli anormallikler durumunda yaptığım şeylerdir. Bir yıl önce biraz benzer bir sorunla karşı karşıya olduğumu hatırlıyorum. Bu şekilde çözüldü.


Hayır, tüm firefox * ve krom * paketlerini temizleme ve yeniden yükleme hiçbir şeyi değiştirmedi.
Byte Komutanı

çalıştırdığınızda powertop'un rölanti istatistikleri ve frekans istatistikleri widget'ları% 100 kullanım gösteriyor mu?
Hirak

Evet, boşta istatistiklerdeki her çekirdekte "C0 aktif" için yaklaşık% 112 gösterir ve frekans istatistikleri, her çekirdekte maksimum frekansı (2.7GHz) ve% 0 boşta rapor eder. Genel bakış sekmesi, her biri yaklaşık 600-900ms / s hesaplama süresi ancak sıfır olay / s olacak şekilde tüm Firefox işlemlerini listenin en üstünde görüntüler.
Byte Komutanı

0

Ubuntu 16.04'te boş klasörü silmek ~/.local/share/fontsbenim durumumda çözüldü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.