Recentemente, comecei a observar esse comportamento muito confuso e irritante, para não dizer preocupante ao abrir o Firefox e depois iniciar o Chromium:
Por cerca de 30 segundos, os processos filhos do Firefox consumiriam todos os recursos de CPU disponíveis, fazendo com que os sites parassem de renderizar (a página já exibida congela, novas páginas mostram uma página branca com um círculo giratório cinza) enquanto a janela geral ainda responde (menus, rolagem de página , alternar guias, até páginas internas como about: config ou about: preferências funcionam ...). O próprio cromo não mostra nenhum sintoma. A interrupção do Chromium novamente imediatamente, enquanto o Firefox está girando, não interrompe o comportamento mais rapidamente.
O mesmo acontece com o meu perfil normal do Firefox, um novo e intocado perfil do Firefox, sem complementos, etc. Semelhante ao Chromium, posso iniciá-lo com meu perfil normal, no modo de navegação anônima ou com um perfil temporário, sempre gerando os mesmos resultados.
Não há nada estranho acontecendo quando o Chromium está sendo executado e eu abro o Firefox.
Ao iniciar o Firefox a partir de um terminal, às vezes recebo mensagens como estas quando o encerro enquanto ele gira (observe a linha de erro do pipe mencionando algum chromium 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
Estranhamente, não consegui reproduzir esse comportamento em uma conta de convidado ou em uma conta regular (admin) recém-criada.
Algumas especificações do sistema (atualizadas):
- Ubuntu 16.04 (64 bits)
- Raposa de fogo
62.0 + build2-0ubuntu0.16.04.563.0 + build2-0ubuntu0.16.04.2 - Crómio
69.0.3497.81-0ubuntu0.16.04.170.0.3538.77-0ubuntu0.16.04.1 fontconfig
2.11.94-0ubuntu1.1- Hardware gráfico: Placa gráfica integrada Intel SkyLake (i5-6200U) + Nvidia GeForce 940M
Atualmente, tenho onvidia-410
driver instalado, mas mudei para o perfil principal da Intel. Como posso solucionar ainda mais e corrigir esse problema?
Criei um perfil de desempenho com a extensão Gecko Profiler, instalada em um perfil limpo do Firefox na minha conta normal do Ubuntu. Pode ser encontrado aqui: https://perfht.ml/2zpTWsh - O período de tempo de resposta com 100% de uso da CPU deve corresponder aproximadamente à área destacada nas linhas de tempo do Content Proc, de aproximadamente 18s a 56s.
Criei um relatório de bug do Mozilla para este problema: https://bugzilla.mozilla.org/show_bug.cgi?id=1504461
Atualização importante: Aparentemente, meu relatório de erros foi uma duplicata de https://bugzilla.mozilla.org/show_bug.cgi?id=1495900 , que aponta fontconfig
como o culpado. Parece que iniciar o Chromium está fazendo uma alteração na configuração da fonte, o que desencadeia uma recarga completa no Firefox. Isso se encaixa no relatório de perfil de desempenho e também se alinha com o modo como as atualizações anteriores dos pacotes de fontes acionaram o mesmo tipo de congelamento.
Alguma idéia de como eu posso fazer com que os três (Firefox, Chromium, fontconfig) se comportem bem entre si?
fonte
Respostas:
TL; DR: é um problema
fontconfig
anterior à versão 2.13. Pode ser corrigido atualizando o pacote para 2.13 ou superior (embora eu não tenha conseguido encontrar um provedor adequado). Como alternativa, examine todas as suas pastas e arquivos de configuração relacionados a fontes no diretório inicial e teste se a remoção de alguma delas resolve o seu problema. Para mim, renomear~/.fonts
fez o truque.Depois de aprender sobre os relatórios de erros https://bugzilla.mozilla.org/show_bug.cgi?id=1495900 e https://bugzilla.mozilla.org/show_bug.cgi?id=1411338 , fica bastante claro que o problema deve ser causado por
fontconfig
.De alguma forma, quando o Chromium é iniciado, ele aciona uma alteração no banco de dados de fontes (???), que faz com que o Firefox - se estiver em execução no momento - verifique novamente o sistema de arquivos em busca de fontes, resultando no uso da CPU e no congelamento temporário.
Aparentemente, a atualização do
fontconfig
pacote da versão 2.11 para a 2.13 (a versão fornecida, por exemplo, no Ubuntu 18.10) deve corrigir o problema, mas não encontrei uma maneira fácil de obter essa versão no 16.04, sem quebrar as dependências de muitos outros pacotes que instalei.Portanto, como o problema é limitado à minha conta de usuário, examinei a configuração e as pastas de fontes locais do meu usuário. Há uma grande bagunça de diferentes diretórios de fontes relacionadas para ser honesto, incluindo
~/.fonts
,~/.local/share/fonts
,~/.local/share-font-manager
,~/.config/font-manager
,~/.cache/font-manager
,~/.cache/fontconfig
e alguns arquivos de configuração mais e outras coisas fonte específica da aplicação.Comecei removendo (renomeando) a
~/.fonts
pasta, pois ela não parecia conter nada útil, e um simplestouch ~/.fonts/Library/
antes disso desencadeou o mau comportamento do Firefox. Depois que essa pasta foi removida, o problema ocorreu ao iniciar o Chromium. \ o /fonte
~/.fonts
diretório. Todas as fontes estão em um diretório amplo do sistema.fontconfig
para2.13.0-5ubuntu3
cosmic / 18.10 resolveu o problema AFAICT. Este foi o bug mais estranho de todos os tempos ... obrigado pelas dicas.libfontconfig1
especificamente. Em geral, adicionei os espelhos biônicos àapt
lista e apliquei o apt pinning para evitar a instalação de qualquer um de seus pacotes sem a indicação específica. Então eu usei simplesmenteapt
's-t
opção assim:apt install fontconfig -tcosmic
. Estou usando o mate como DE… talvez não funcione tão facilmente com outros DEs.fundo
Foi proposto este Firefox Bug 1492360: Alto uso da CPU quando o Firefox é aberto antes do Chrome / Chromium . Ou seja, é uma duplicata do Bug 1495900: Iniciar o Chrome faz com que os processos de conteúdo do Firefox travem por cerca de dois minutos, devido à nova verificação de fonte FontConfig (FcInitReinitialize) , é o culpado.
Mas eu também estou no Firefox:
E quando eu abro o Chrome:
Não vejo nenhum desempenho atingido nas CPUs.
Pode ser contra a sua moral, mas talvez você possa tentar instalar
google-chrome-stable
como eu. Então faça o teste novamente. Se não houver um pico de uso da CPU em 100%, um relatório de erro poderá ser apresentado entre o Chromium e o Chrome.Estou no Ubuntu 16.04.5 LTS. Embora o kernel seja atualmente uma
4.14.78
cadeia LTS, não acho que tenha algo a ver com isso, pois também não notei hits da CPU nos kernels anteriores.A única vez em que vejo todas as CPUs a 100% é durante
update-initramfs
.fontconfig
versonNo relatório de erros, é revelado:
Na minha versão sem erros (pode ser por causa de nenhuma fonte local):
Estou na
2.11.94
versão anterior à versão do relatório de erros2.12
. No relatório de erros, atualizar para2.13
é uma solução recomendada, mas o OP mencionado nos comentários não é possível. Como tal,2.11.94
pode ser uma opção.fonte
fontconfig
agora. Provavelmente você tem fontes locais diferentes (ou não) instaladas na sua conta de usuário. Encontrei uma solução alternativa para remover (renomear) a~/.fonts
pasta, que corrige o problema. Aparentemente, a atualização parafontconfig
> = versão 2.13 deve corrigi-lo, mas não posso fazer isso no 16.04.ttf
usados em processadores de texto / planilhas. Infelizmente, você teve que resolver sua própria questão de recompensa, mas se é algum consolo o mesmo aconteceu comigo no passado.fontconfig
como uma opção para corresponder à minha versão, mas essa é uma "fraca esperança", pois você pode ter vindo de lá. Se você tiver um link para instalar fontes locais, tentarei confirmar / negar o efeito dafontconfig
versão anterior .fontconfig
é2.11.94-0ubuntu1.1
, essa não está livre de bugs. Deve ser uma combinação das fontes instaladas, configuração de fonte personalizada e magia negra, eu acho. Veja minha resposta. :)A julgar pelo log, parece que o Firefox está usando IPC síncrono (comunicação entre processos) por algum motivo. Existem sinalizadores no Firefox para ativar o IPC síncrono explicitamente (por exemplo: network.cookie.ipc.sync). Um deles pode estar ativado. Você pode acessar estes a partir do about: config página
O atraso seria o resultado da espera do firefox na resposta. Como não há carga quando o Chromium termina a inicialização ou não está em execução ativa, há uma resposta imediata.
Relacionado: https://bugzilla.mozilla.org/show_bug.cgi?id=1331680
fonte
network.cookie.ipc.sync
configuração de falso para verdadeiro e vice-versa, reiniciando o Firefox após cada alteração, mas continuo com o mesmo comportamento :( Ainda não entendo por que o Firefox e o Chromium se comunicariam em primeiro lugar, eles deveriam se importar negócio cada.Não sei se a sugestão a seguir funcionará ou não. Você pode tentar. Tente remover completamente o cromo e o firefox (mantenha os arquivos .deb, é claro) usando o Synaptic Package Manager. Depois disso, verifique se há alguma dependência quebrada. Corrija-os usando sináptico (se houver). Agora verifique o uso da CPU (eu uso o Powertop). Finalmente, faça uma nova reinstalação dos navegadores.
Nota: Essas coisas geralmente são o que eu faço em caso de anormalidades específicas. Lembro-me de enfrentar um problema um pouco semelhante há um ano. Foi resolvido dessa maneira.
fonte
No Ubuntu 16.04, excluir a pasta vazia
~/.local/share/fonts
resolveu no meu caso.fonte