Chromiumの起動時に30秒間CPU使用率100%でFirefoxがフリーズする


22

最近、Firefoxを開いてからChromiumを起動するときの動作を心配するのではなく、この非常に複雑で迷惑なことに気付き始めました。

約30秒間、Firefoxの子プロセスは使用可能なすべてのCPUリソースを消費し、ウェブサイトはレンダリングを停止します(すでに表示されているページがフリーズし、新しいページに灰色の回転する円の白いページが表示されます) 、タブの切り替え、about:configやabout:preferencesなどの内部ページも機能します...)。Chromium自体には症状はありません。Firefoxが回転している間にChromiumをすぐに終了しても、動作はすぐに停止しません。

私の通常のFirefoxプロファイル、アドオンのないまったく新しいFirefoxプロファイルなど、Firefoxはアドオンを無効にしてセーフモードで起動し、Firefoxはプライベートモードで起動しました。Chromiumの場合と同様に、通常のプロファイル、シークレットモード、または一時的なプロファイルで起動して、常に同じ結果を生成できます。

Chromiumが実行されていて、Firefoxを開いたときに奇妙なことは何もありません。

ターミナルからFirefoxを起動するときに、回転中に終了すると次のようなメッセージが表示されることがあります(いくつかのクロム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

奇妙なことに、ゲストアカウントまたは新しく作成された通常の(管理者)アカウントでその動作を再現できませんでした。

いくつかのシステム仕様(更新済み):

  • Ubuntu 16.04(64ビット)
  • Firefox 62.0 + build2-0ubuntu0.16.04.5 63.0 + build2-0ubuntu0.16.04.2
  • クロム 69.0.3497.81-0ubuntu0.16.04.1 70.0.3538.77-0ubuntu0.16.04.1
  • fontconfig 2.11.94-0ubuntu1.1
  • グラフィックハードウェア:Intel SkyLake統合グラフィック(i5-6200U)+ Nvidia GeForce 940M
    現在、nvidia-410ドライバーをインストールしていますが、Intelプライムプロファイルに切り替えています。この問題をさらにトラブルシューティングして修正するにはどうすればよいですか?

Gecko Profiler Extensionを使用してパフォーマンスプロファイルを作成し、通常のUbuntuアカウントの新しいFirefoxプロファイルにインストールしました。これは、ここで見つけることができる:https://perfht.ml/2zpTWsh - 56S - 100%のCPU使用率と応答しない時間枠は略略18SからコンテンツPROCタイムライン上の強調表示された領域に対応しなければなりません。

この問題のMozillaバグレポートを作成しました:https : //bugzilla.mozilla.org/show_bug.cgi?id=1504461

重要な更新:どうやら私のバグレポートはhttps://bugzilla.mozilla.org/show_bug.cgi?id=1495900の複製でありfontconfig、犯人として指摘しています。Chromiumを起動すると、フォント構成が何らかの形で変更され、Firefoxで完全な再読み込みがトリガーされるようです。これは、パフォーマンスプロファイリングレポートに適合し、フォントパッケージの以前の更新が同じ種類のフリーズをトリガーした方法とも一致します。

3つ(Firefox、Chromium、fontconfig)を互いにうまく動作させる方法はありますか?


ipc_channel_posix.ccの 353行目にあるのは、return trueステートメントだけです。もちろん、致命的なピアによる接続の休息は決してうまくいきません。残念ながら、この問題を再現できません。もっと助けてほしい。
オタク長老

また、ubuntuのCPU使用率が高いという散発的な問題もありましたが、何が原因なのか、または解決したのかはわかりません。CPU使用率が高いことに関連して追跡している未解決の問題が多数ありました。したがって、アップグレードし、希望します。現在、問題は発生していません(または発生している場合は特定のタブです。したがって、ブラウザーを再起動するか、タブを閉じると問題は解決します)。16.04から18.10にアップグレードすることは可能ですか?(もちろん、16.04は2016年4月からであり、18.10は2018年8月からです)...?そして、私はまた、頭痛が少ないように見えるkubuntuに切り替えました。(可能であれば、USBから起動し、両方で実験を行ってください。)
マイケル

時々、Firefoxを実行してからChromeを開いて(少し違うことを知っています)、CPU使用率が高いことに気付いていません。おそらく、8つの仮想CPUで18%のCPUから30%のCPUに5秒のスパイクが発生します。
WinEunuuchs2Unix

回答:


17

TL; DR:fontconfigバージョン2.13以前の問題です。パッケージを2.13以降にアップグレードすることで修正できます(ただし、適切なプロバイダーが見つかりませんでした)。または、ホームディレクトリ内のすべてのフォント関連フォルダーと構成ファイルを調べ、それらのいずれかを削除することで問題が解決するかどうかをテストします。私にとっては、名前の変更~/.fontsがトリックを行いました。


バグレポートhttps://bugzilla.mozilla.org/show_bug.cgi?id=1495900およびhttps://bugzilla.mozilla.org/show_bug.cgi?id=1411338について学習した後、問題は次のようになっている必要があります。によって引き起こされfontconfigます。

何らかの理由でChromiumが起動すると、フォントデータベース(???)の変更がトリガーされ、Firefox(現在実行中の場合)が何らかの理由でフォントのファイルシステムを再スキャンし、CPU使用率と一時的なフリーズが発生します。

fontconfigパッケージをバージョン2.11から2.13(Ubuntu 18.10などで出荷されたバージョン)に更新すると、問題が修正されるはずですが、インストールした他の多くのパッケージの依存関係を壊すことなく、そのバージョンを16.04で取得する簡単な方法は見つかりませんでした。

そのため、問題はユーザーアカウントに限定されるため、ユーザーのローカルフォント構成とフォルダーを調べました。異なるフォント関連のディレクトリのかなりの混乱が、正直に言うとあります含め~/.fonts~/.local/share/fonts~/.local/share-font-manager~/.config/font-manager~/.cache/font-manager~/.cache/fontconfigといくつかのより多くの設定ファイルとアプリケーション固有のフォントもの。

~/.fontsとにかく有用なものが含まれていないように見えたので、フォルダーを削除(名前変更)することから始めましたtouch ~/.fonts/Library/。それがFirefoxの誤動作を引き起こす前の簡単なことです。そのフォルダーがなくなった後、Chromiumを起動したときの問題もなくなりました。\ o /


~/.fontsディレクトリがないので意味があります。すべてのフォントはシステム全体のディレクトリにあります。
WinEunuuchs2Unix

どうやら、18.04でルートターミナルウィンドウを起動することでも、同様のバグまたは同じバグが発生する可能性があります。straceは、フォントファイルに関する重大なファイルI / Oを示します。興味深いことに、これはfirefoxだけの問題ではなく、他のxorgアプリケーションの問題でもあるので、xorg内の問題も推測します。残念ながら、問題のディレクトリを削除しても解決しませんでした。
stefanct

1
ただし、アップグレードfontconfig2.13.0-5ubuntu318.10 /宇宙からは、問題AFAICTを解決しました。これはしばらくの間、最も奇妙なバグでした...ポインターに感謝します。
stefanct

@stefanctどうやって物を壊さずにインストールしたのですか、fontconfigとlibfontconfig1 2.13を強制し、aptがDE全体を削除したかったです、18.04
GM-Script-Writer-62850

@ GM-Script-Writer-62850 libfontconfig1具体的に対処したことを覚えていません。一般的に、私はバイオニックミラーをaptのリストに追加し、適切にピン止めを適用して、パッケージをインストールせずに具体的に伝えます。それから私は、単に使用apt-tそうのようなオプションを:apt install fontconfig -tcosmic。私はDEとしてmateを使用しています...他のDEでは簡単に機能しないかもしれません。
stefanct

3

バックグラウンド

このFirefoxが提案されましたBug 1492360:chrome / chromiumより前にfirefoxを開くとCPU使用率が高くなる。これはBug 1495900の複製です。Chromeを起動すると、Firefoxのコンテンツプロセスが約2分間ハングします。これはFontConfigフォントの再スキャン(FcInitReinitialize)が原因であるためです。

しかし、私もFirefoxを使用しています。

Firefox version.png

そして、Chromeを開くと:

Chrome version.png

CPUのパフォーマンスが低下することはありません。

それはあなたの道徳に反するかもしれませんが、おそらくあなたはgoogle-chrome-stable私が持っているようにインストールを試すことができます。その後、再度テストを行います。CPU使用率が100%に急上昇しない場合、ChromiumとChromeの間でバグレポートを提出できます。

Ubuntu 16.04.5 LTSを使用しています。カーネルは現在4.14.78LTSチェーンですが、以前のカーネルでもCPUヒットに気付かなかったので、カーネルがそれと関係があるとは思いません。

すべてのCPUが100%になっているのは、の間だけupdate-initramfsです。


fontconfig ヴァーソン

バグレポートで明らかになります:

$ 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

私の非バギーバージョンでは(ただし、ローカルフォントがないためである可能性があります):

$ 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

私がでてる2.11.94バグ報告よりもバージョン以前の2.12バージョン。バグレポートでにアップグレードする2.13ことをお勧めしますが、コメントでOPに言及していることはできません。そのため2.11.94 かもしれない選択肢です。


いいえ、Chromeをインストールするつもりはありません。しかし、私は犯人がfontconfig今だということを知りました。ユーザーアカウントに異なるローカルフォントがインストールされている(またはまったくインストールされていない)可能性があります。~/.fontsフォルダーを削除(名前変更)する回避策を見つけ、問題を修正しました。どうやらfontconfig> =バージョン2.13 へのアップグレードでも修正されるはずですが、16.04ではできません。
バイトコマンダー

はい、私がインストールしたフォントはttf、ワープロ/スプレッドシートで使用されているバーコード(コード3の9)のみです。残念ながら、あなたはあなた自身の賞金の質問を解決しなければなりませんでしたが、それが慰めであれば、過去にも同じことが起こりました。
WinEunuuchs2Unix

fontconfigは自分のバージョンに合わせてオプションとしてダウングレードを追加しましたが、そこから来ている可能性があるので、それは「かすかな希望」です。ローカルフォントをインストールするためのリンクがある場合は、古いfontconfigバージョンの効果を確認/拒否してみてください。
WinEunuuchs2Unix

私のバージョンがfontconfigある2.11.94-0ubuntu1.11は、バグのないではないことを、あまりにも。インストールされているフォント、カスタムフォント構成、ブラックマジックの組み合わせである必要があります。私の答えを確認してください。:)
バイトコマンダー

1

ログから判断すると、何らかの理由でFirefoxが同期IPC(プロセス間通信)を使用しているようです。Firefoxには、同期IPCを明示的にオンにするフラグがあります(例:network.cookie.ipc.sync)。それらのいずれかが有効になっている可能性があります。about:configページからこれらにアクセスできます

遅延は、firefoxが応答を待機した結果です。Chromiumの起動が完了したとき、またはアクティブに実行されていないときには負荷がないため、すぐに応答があります。

関連:https : //bugzilla.mozilla.org/show_bug.cgi?id=1331680


このnetwork.cookie.ipc.sync設定の値をfalseからtrue に切り替えてから変更し、変更するたびにFirefoxを再起動しますが、それでも同じ動作をします。各ビジネス
バイトコマンダー

1
実際の理由が無関係であることがわかったため、これを削除しましたが、これを推定原因としてここに残す必要があると思いますか?
アスウィンB

0

次の提案が機能するかどうかわからない。試してみることができます。Synaptic Package Managerを使用して、クロムとFirefoxを完全に削除してみてください(もちろん.debファイルを保存してください)。その後、破損した依存関係があるかどうかを確認します。シナプスを使用して修正します(存在する場合)。CPUの使用状況を確認します(Powertopを使用しています)。最後に、ブラウザーを新しく再インストールします。

注:これらのことは一般的に、特定の異常の場合に私がすることです。1年前に少し似たような問題に直面したことを覚えています。このようにして解決しました。


いいえ、すべてのfirefox *およびchromium *パッケージを削除して再インストールしても何も変わりませんでした。
バイトコマンダー

クロムを起動すると、powertopのアイドル状態の統計と周波数統計のウィジェットは100%の使用率を示しますか
ハイラック

はい、アイドル状態のすべてのコアの「C0アクティブ」で約112%を示し、周波数状態は各コアの最大周波数(2.7GHz)と0%アイドルを報告します。概要タブでは、リストの一番上にすべてのFirefoxプロセスが表示され、それぞれ約600〜900ミリ秒/秒の計算時間で、イベント/秒はゼロです。
バイトコマンダー

0

Ubuntu 16.04では、空のフォルダーを削除すると~/.local/share/fonts解決しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.