Firefox에서 몇 초마다 높은 CPU 사용량의 “스파이크”가 발생하는 이유는 무엇입니까? 발생하며 각 스파이크는

Firefox를 시작하면 잠시 문제가 없지만 며칠 후에 CPU 스파이크가 발생하기 시작합니다. 스파이크 중에 Firefox가 멈춘 다음 중지합니다. 스파이크는 7-10 초마다 발생하며 각 스파이크는 2-3 초 동안 지속됩니다 . 스파이크가 발생할 때 입력하는 경우 스파이크 후에 만 ​​문자가 출력됩니다. 처음에는이 문제가 Flash 때문이라고 생각했기 때문에 사용 중지했지만 문제가 계속 발생합니다.

또한 Firefox의 메모리 사용량은 며칠 후에 600MB 이상으로 증가합니다.

내가 사용하는 Firefox 플러그인 및 확장 프로그램 목록은 여기에서 볼 수 있습니다 .



답변

가비지 콜렉터 또는 사이클 콜렉터 인 것 같습니다.

about:config변경 javascript.options.mem.log되었습니다 true. 이제 GC 및 CC에 대한 알림을 오류 콘솔 ( Crtl+ Shift+ J) 에서 사용할 수 있어야합니다. 타이밍 및 지속 시간이 일치하면 이것이 문제입니다.

이 문제가 발생했을 때 Firefox 프로파일을 날려 버리고 처음부터 새로 작성하여 문제를 해결했습니다. Firefox 프로필은 시간이 지남에 따라 많은 크루를 수집하는 경향이 있습니다.

이 솔루션도 완벽한 솔루션이 아닙니다. Firefox (100+) 또는 많은 확장 프로그램에서 많은 탭을 열고 Firefox를 며칠 동안 실행 상태로두면 필연적으로 속도가 느려집니다. 가끔씩 Firefox를 다시 시작해야합니다.

당신이 나와 같은 경향이 있고 당신이 사용하는 또 다른 트릭은 browser.sessionstore.max_concurrent_tabs0 으로 설정 하는 것입니다. 대신 전환 할 때로드됩니다. 필자는 때때로 파이어 폭스를 재시동하여 많은 탭을 갖는 부하를 크게 줄입니다.


답변

에서는 about:config설정, browser.sessionstore.interval많은 수 (그것은 있어야 10,000또는 15,000약으로 설정 600,000).

기본적으로 Firefox가 “저장된 세션”을 업데이트하는 시간 사이의 시간 (밀리 초)입니다. 많은 탭을 열거 나 인터넷 사용 기록이 길거나 (또는 ​​두 경우 모두와 마찬가지로) sessionstore.js10 ~ 15 초마다 파일에 우스운 양의 데이터가 기록 될 수 있으며 이로 인해 Flash 비디오가 작동하지 않을 수 있습니다. 잠깐 동안 멈추거나 몇 분마다 전체 컴퓨터를 정지시킵니다.

이 값을 크게 설정하면 Firefox가 충돌하면 복원하려고 할 때 마지막 몇 분 동안 인터넷 사용 기록이 손실된다는 단점이 있습니다. 그것은 내 의견으로는 지불해야 할 작은 가격입니다.

CPU 스파이크가 훨씬 줄어 듭니다.


답변

메모리 누수 자체를 수정하지는 않습니다. 그러나 “선택할 때까지 탭을로드하지 마십시오”를 활성화하면 재시작 후에 탭을 클릭 할 때까지 탭이로드되지 않아 메모리가 줄어 듭니다.

또한 CCleaner 를 사용 하여 Firefox를 청소하는 것을 발견했습니다. “세션”이 약간 도움이되었습니다. 세션 복구 정보가 제거되면 열려있는 모든 탭을 먼저 백업하십시오. CCleaner를 실행하기 전에 내 sessionstore.js 파일은 약 800KB 였지만 그 후에는 약 6KB로 줄었습니다.

sessionstore에 대한 자세한 내용은 Solved : Firefox Freezes 10 초마다, Scrolling is Jumpy에서 확인할 수 있습니다.

Flashblock을 제거하면 Firefox의 높은 CPU 문제가 해결되었습니다. 아마도 Flashblock과 Adblock Plus 또는 다른 확장 기능이 작동하지 않습니까?

Firefox로 엉망이 되기에는 인생이 너무 짧습니다. 방금 북마크를 내보내고 Firefox를 제거한 다음 컴퓨터의 모든 Firefox 폴더를 삭제 한 다음 Firefox를 처음부터 다시 설치하고 북마크를 복원했습니다. 이제 완전히 새로 설치하여 Chrome보다 빠르게 실행됩니다.


답변

말하기가 매우 어렵습니다. 일반적인 사용입니까, 아니면 특정 사이트에 액세스하고 있습니까? (우리는 jQuery 의 메모리 누수로 인해 브라우저가 시간이 지남에 따라 메모리를 확보하는 문제가있었습니다 .)

Microsoft OS를 사용한다고 가정하면 Microsoft의 Process Monitor 도구를 사용해 볼 수 있습니다. 그것은 많은 메시지를 흘리지 만 ‘동결’이 발생한 간격으로 메시지를 좁힐 수 있어야하며 차단을 수행하는 프로세스를 볼 수 있습니다.


답변

아직 그렇게하지 않았다면 최신 Firefox로 업그레이드 해보십시오. 그들은 메모리 누수를 줄이기 위해 열심히 노력했습니다.