O que posso fazer quando todo um núcleo da minha CPU acaba quando visito um site específico?

O que posso fazer quando todo um núcleo da minha CPU acaba quando visito um site específico?

Sou um fã de descontos e existe uma ferramenta muito útil chamadaTipora(É gratuito, masnãoCódigo aberto).

Quando fui ao site oficial para fazer o download, não havia animação nem serviço complicado. No entanto, meus ventiladores de resfriamento no meu computador funcionaram a toda velocidade quando visitei este site. E quando abri o gerenciador de tarefas vi um núcleo inteiro consumido. O que este site faz? Existe um minerador de bitcoin em JavaScript incluído no código-fonte?

Além disso, o próprio Typora tem o mesmo tipo de problemas?

Existem ferramentas úteis para analisar o comportamento de um determinado site ou software?

Responder1

Tentei acessar este site na minha VM e encontrei o mesmo problema. O site Typora está executando o script abaixo:

<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-54f423356e25706b" async="async"></script>

Typora também está usando os scripts abaixo sem cache, para que possa aproveitar os recursos mais recentes:

https://m.addthisedge.com/live/boost/ra-54f423356e25706b/_ate.track.config_resp
https://s7.addthis.com/js/300/addthis_widget.js

Bloqueei addthis.come addthisedge.comusei hostsarquivo em C:\Windows\System32\drivers\etc. É o arquivo usado para mapear o nome de domínio para IP. Apontei esses domínios para meu IP aleatório local. Depois disso, o site não consegue encontrar scripts e não consegue executar.

O que é addthis.com? De acordo comO guardiãoé um rastreador de compartilhamento social. Descobri que ele tentou ler dados de outros sites que eu estava usando naquele momento.

Após bloquear esses sites, o uso da CPU é normal.

Responder2

A maioria dos navegadores da web vem com uma ferramenta de desenvolvimento integrada chamada "Profiler". Esta ferramenta pode ser usada para identificar qual funcionalidade javascript de um site consome quanto tempo de processamento. As ferramentas de desenvolvimento geralmente são acessadas com F12.

Usá-lo naquele site confirma a resposta porde novo. A maior parte do tempo de processamento é usada pelo script https://s7.addthis.com/js/300/addthis_widget.js(pela função i._handleScroll, para ser mais específico). O script é reduzido, então não estou com vontade de pesquisar mais sobre o que ele realmente está fazendo. Ou esse script é horrível ou o desenvolvedor do site cometeu um erro ao integrá-lo ao site. De qualquer forma, isso não cabe a você consertar. Você pode bloquear esse script usando noscript ou colocando todo o domínio na lista negra em hosts, mas é possível que o site não funcione mais corretamente se você fizer isso.

A propósito: sites que usam o poder de processamento de seus visitantes para extrair Bitcoins ou outras criptomoedas são, na verdade, uma coisa. Eu mesmo já vi esses sites. Mas eles geralmente não usam a CPU. Eles usarão a GPU do visitante por meio doAPI WebGL. Isso significa que os ventiladores da GPU começarão a girar, mas o uso da CPU no gerenciador de tarefas permanecerá bastante moderado. Se você quiser verificar a carga atual da sua GPU, consulte o site do fornecedor. Eles costumam oferecer programas complementares para seus motoristas, que mostram essas informações.

Responder3

Depende do seu navegador. No Firefox, você pode instalarNoScripte colocar JS na lista de permissões para esse site seletivamente, talvez seja um recurso JS específico que não seja estritamente necessário para visualizar o próprio Typora.

O Ghostery também pode fazer isso no Chrome, embora eu tenha muito menos experiência com o que ele faz, é muito mais automatizado que o Noscript.

Aviso: eu gosto do NoScript, mas ele pode ficar um pouco paranóico com as coisas e você precisa se segurar muito para entrar na lista de permissões. É melhor ter um navegador diferente sem ele disponível também.

Atualização: sim, é um grande porco. O Firefox mostra um FirefoxCPWebContent em 170% no meu Mac Activity Monitor. E isso com todo o JS do site desabilitado. Parece que eles enganaram bastante o código - há muitos identificadores abertos para fontes para esse subprocesso.

Resumindo: mesmo o NoScript não pode consertar isso.

informação relacionada