Chromium을 시작할 때 30 초 동안 100 % CPU 사용으로 Firefox 정지


22

최근에 나는 Firefox를 열고 Chromium을 시작할 때 걱정스러운 행동을 말하는 것이 아니라 매우 혼란스럽고 성가신 것을 관찰하기 시작했습니다.

약 30 초 동안 Firefox의 자식 프로세스는 사용 가능한 모든 CPU 리소스를 소비하여 웹 사이트가 렌더링을 중지하게하고 (이미 표시되는 페이지 정지, 새 페이지에는 회색 회전 원이있는 흰색 페이지가 표시됨) 전체 창이 여전히 응답하는 동안 (메뉴, 페이지 스크롤) , 전환 탭, about : config 또는 about : preferences와 같은 내부 페이지조차도 작동합니다.) 크롬 자체에는 아무런 증상이 없습니다. Firefox가 회전하는 동안 Chromium을 즉시 다시 종료해도 더 이상 동작이 중지되지 않습니다.

내 일반 파이어 폭스 프로파일, 애드온 등이없는 새롭고 수정되지 않은 파이어 폭스 프로파일, 애드온이 비활성화 된 상태에서 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

이상하게도 게스트 계정이나 새로 만든 일반 (관리자) 계정에서 해당 동작을 재현 할 수 없습니다.

일부 시스템 사양 (업데이트 됨) :

  • 우분투 16.04 (64 비트)
  • Firefox 62.0+ 빌드 2-0 우분투 0.16.04.5 63.0+ 빌드 2-0 우분투 0.16.04.2
  • 크롬 69.0.3497.81-0 우분투 0.16.04.1 70.0.3538.77-0 우분투 0.16.04.1
  • fontconfig 2.11.94-0 우분투 1.1
  • 그래픽 하드웨어 : Intel SkyLake 통합 그래픽 (i5-6200U) + Nvidia GeForce 940M
    현재 nvidia-410드라이버가 설치되어 있지만 인텔 프라임 프로필로 전환되었습니다. 이 문제를 추가로 해결하고 수정하려면 어떻게해야합니까?

일반 우분투 계정의 깨끗하고 새로운 Firefox 프로필에 설치된 Gecko Profiler Extension으로 성능 프로필을 만들었습니다. 그것은 여기에서 찾을 수 있습니다 : https://perfht.ml/2zpTWsh - 56S - 대략 18 세에서 대략 내용 PROC 일정에서 강조 표시된 영역에 해당한다 CPU 사용률이 100 %에 응답하지 않는 기간.

이 문제에 대한 Mozilla 버그 보고서를 작성했습니다. https://bugzilla.mozilla.org/show_bug.cgi?id=1504461

중요 업데이트 : 분명히 내 버그 보고서는 https://bugzilla.mozilla.org/show_bug.cgi?id=1495900 의 복제본으로 fontconfig범인으로 지적되었습니다 . Chromium을 시작하면 글꼴 구성이 어떻게 변경되어 Firefox에서 완전히 다시로드됩니다. 이것은 성능 프로파일 링 보고서에 적합하며 글꼴 패키지에 대한 이전 업데이트가 동일한 종류의 고정을 트리거 한 방법과도 일치합니다.

세 가지 (Firefox, Chromium, fontconfig)가 서로 잘 동작하도록 만드는 방법에 대한 아이디어가 있습니까?


ipc_channel_posix.cc의 353 행에서 찾은 것은 모두 return true 문입니다. 물론, 치명적인 동료의한 연결 휴식은 결코 잘하지 않습니다. 슬프게도이 문제를 재현 할 수 없습니다. 더 도움이 되길 바랍니다.
Geek

또한 우분투에서 CPU가 높은 산발적 인 문제가 있었지만 그 원인이나 원인을 말할 수는 없습니다. 높은 CPU 사용량과 관련하여 추적하고있는 수많은 공개 문제가 있었으므로 업그레이드하고 희망합니다. 현재 문제가 없습니다 (그렇다면 특정 탭이므로 브라우저를 다시 시작하거나 탭을 닫으면 문제가 해결됩니다). 16.04에서 18.10으로 업그레이드 할 수 있습니까 (물론, 16.04는 2016 년 4 월에서 18.10은 2018 년 8 월 현재)? 그리고 fwiw, 나는 또한 두통을 덜주는 것으로 보이는 kubuntu로 전환했습니다. (가능한 경우 USB로 부팅하고 둘 다 실험하십시오.)
michael

때로는 Firefox를 실행 한 다음 Chrome을 열고 (약간의 차이가 있음) CPU 사용량이 많지 않은 경우가 있습니다. 8 개의 가상 CPU에서 CPU가 18 %에서 30 %로 5 초 증가했을 것입니다.
WinEunuuchs2Unix

답변:


17

TL; DR :fontconfig 버전 2.13 이전 의 문제입니다 . 패키지를 2.13 이상으로 업그레이드하면 문제를 해결할 수 있습니다 (적절한 공급자를 찾을 수는 없지만). 또는 홈 디렉토리의 모든 글꼴 관련 폴더 및 구성 파일을 검사하고 제거하면 문제가 해결되는지 테스트하십시오. 나를 위해 이름을 바꾸는 ~/.fonts것이 속임수였습니다.


버그 보고서에 대해 학습 한 후 https://bugzilla.mozilla.org/show_bug.cgi?id=1495900https://bugzilla.mozilla.org/show_bug.cgi?id=1411338 문제가 분명해야합니다. 에 의해 발생합니다 fontconfig.

어떻게 든 Chromium이 시작되면 글꼴 데이터베이스 (???)의 변경을 트리거하여 Firefox (현재 실행중인 경우)가 파일 시스템에서 글꼴을 다시 검색하여 CPU 사용 및 일시적인 정지를 초래합니다.

분명히 fontconfig버전 2.11에서 2.13으로 패키지를 업데이트하면 (예를 들어 우분투 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을 시작할 때의 문제도 마찬가지입니다. \영형/


~/.fonts디렉토리 가 없으므로 의미가 있습니다 . 모든 글꼴은 시스템 전체 디렉토리에 있습니다.
WinEunuuchs2Unix 1

분명히 루트 터미널 창을 시작하여 18.04에서 유사하거나 동일한 버그가 발생할 수 있습니다. strace는 글꼴 파일과 관련된 심각한 파일 입출력을 나타냅니다. 흥미롭게도 이것은 파이어 폭스 자체의 문제 일뿐 만 아니라 다른 xorg 응용 프로그램의 문제이기도하므로 xorg 내의 문제도 가정합니다. 불행히도 문제의 디렉토리를 삭제해도 도움이되지 않았습니다.
stefanct

1
그러나 cosmic / 18.10에서 업그레이드 fontconfig하면 2.13.0-5ubuntu3AFAICT 문제가 해결되었습니다. 이것은 잠시 동안 가장 이상한 버그였습니다 ... 포인터 주셔서 감사합니다.
stefanct

@stefanct 당신이 물건을 파괴하지 않고 설치하는 거지 어떻게 내가 18.04 실행, 내 전체 DE 제거하고 싶어 강요는 fontconfig와 libfontconfig1 2.13 및 APT 시도
GM-스크립트 작가-62850

@ GM-Script-Writer-62850 libfontconfig1구체적 으로 다루는 것을 기억하지 못합니다 . 일반적으로 Bionic 미러를 apt목록에 추가 하고 패키지를 구체적으로 말하지 않고 패키지를 설치하지 않도록 적절한 고정을 적용했습니다. 그럼 간단하게 사용 apt-t과 같이 옵션을 : apt install fontconfig -tcosmic. 메이트를 DE로 사용하고 있습니다. 다른 DE와 쉽게 호환되지 않을 수 있습니다.
stefanct

3

배경

이 Firefox 버그 1492360 : chrome / chromium 이전에 firefox를 열 때 높은 CPU 사용량 이 제안되었습니다 . 이는 버그 1495900의 복제본입니다. Chrome을 시작하면 FontConfig 글꼴 재검색 (FcInitReinitialize)으로 인해 Firefox 콘텐츠 프로세스가 약 2 분 동안 중단됩니다 .

그러나 나는 Firefox에도 있습니다.

Firefox 버전 .png

그리고 Chrome을 열면 :

크롬 버전 .png

CPU 성능이 저하되지 않습니다.

그것은 당신의 도덕에 위배 될 수 있지만 어쩌면 google-chrome-stable내가 가진 것처럼 설치할 수 있습니다. 그런 다음 테스트를 다시 수행하십시오. CPU 사용량이 100 %로 급증하지 않으면 Chromium과 Chrome간에 버그 보고서가 제출 될 수 있습니다.

우분투 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.1하나는 버그 무료 아니라고도. 설치된 글꼴, 사용자 정의 글꼴 구성 및 흑 마법의 조합이어야합니다. 내 대답을 확인하십시오. :)
바이트 사령관

1

로그에서 판단하면 Firefox가 어떤 이유로 동기 IPC (Inter-process communication)를 사용하는 것처럼 보입니다. Firefox에는 동기 IPC를 명시 적으로 켜는 플래그가 있습니다 (예 : network.cookie.ipc.sync). 그중 하나가 활성화되었을 수 있습니다. about : config 페이지 에서 액세스 할 수 있습니다

그러면 지연이 응답을 기다리는 파이어 폭스의 결과입니다. Chromium의 시작이 완료되었거나 활성 상태가 아닌 경우로드가 없으므로 즉각적인 응답이 있습니다.

관련 : https://bugzilla.mozilla.org/show_bug.cgi?id=1331680


network.cookie.ipc.sync구성 의 값을 false에서 true로 다시 전환하고 각 변경 후에 Firefox를 다시 시작하지만 여전히 똑같은 동작입니다. 사업 각.
바이트 사령관

1
실제 이유가 관련이 없다는 것을 알았으므로 이것을 삭제했지만 여기에 가능한 원인을 남겨 두어야한다고 생각하십니까?
Aswin B

0

다음 제안이 효과가 있는지 모르겠습니다. 시도해 볼 수 있습니다. Synaptic Package Manager를 사용하여 크롬과 파이어 폭스를 완전히 제거하십시오 (물론 .deb 파일을 유지하십시오). 그 후 종속성이 손상되었는지 확인하십시오. 시냅스 (있는 경우)를 사용하여 수정하십시오. 이제 CPU 사용량을 확인하십시오 (Powertop 사용). 마지막으로 브라우저를 다시 설치하십시오.

참고 :이 문제는 일반적으로 특정 이상이있는 경우 수행하는 작업입니다. 1 년 전 약간 비슷한 문제에 직면 한 것을 기억합니다. 이 방법으로 해결되었습니다.


아니, 모든 firefox * 및 chromium * 패키지를 제거하고 다시 설치해도 아무런 변화가 없었습니다.
바이트 사령관

크롬을 시작할 때 powertop의 유휴 통계 및 빈도 통계 위젯이 100 % 사용량을 표시합니까?
Hirak

예, 유휴 상태의 모든 코어에서 "C0 active"에 대해 약 112 %가 표시되며 주파수 통계는 각 코어에서 최대 주파수 (2.7GHz) 및 0 %의 유휴 상태를보고합니다. 개요 탭에는 목록에 모든 Firefox 프로세스가 표시되며, 각각 약 600-900ms / s의 컴퓨팅 시간이 있지만 이벤트는 0입니다.
바이트 사령관

0

우분투 16.04에서 빈 폴더를 삭제하면 ~/.local/share/fonts필자가 해결했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.