Safari e Firefox, alto uso de CPU durante downloads

5

Eu descobri que tanto o Safari quanto o Firefox usam uma quantidade muito alta de CPU durante os downloads (> 200% de uso da CPU), alguém pode explicar por que isso acontece? Ocorreu antes e depois de uma reinstalação completa do sistema. Ele também usa a mesma quantidade de CPU, apesar da velocidade de download. Eu estou usando o Mac OS 10.8.

Eu também tinha imagens do Firefox fazendo a mesma coisa, mas acidentalmente as excluía durante a reinstalação.

    
por andrsnn 19.09.2013 / 19:19

1 resposta

1

Eu só deparei com essa pergunta hoje e espero que esta não seja uma resposta tardia, mas as respostas curtas são sim (para sua primeira pergunta "Eu descobri que tanto o Safari quanto o Firefox usam uma quantidade muito alta de CPU durante os downloads" >200% de uso da CPU), alguém pode explicar por que isso acontece? ") e sim (para sua pergunta de comentário" Uma porcentagem maior que 100% significa que está usando vários núcleos para esse processo? ").

A breve explicação é que o seu Mac contém um processador multi-core - eu estou supondo um mínimo de 2 dado que você está executando o OS X 10.8 - que suporta hyperthreading , e isso significa que cada núcleo físico (uma CPU física em si) apresenta vários núcleos" lógicos "para o OS X, que ele trata como CPUs lógicas independentes. Um processo pode usar até 100% de cada núcleo lógico, portanto, n cores lógicas significa um máximo de n x 100% de uso da CPU por processo. Daí o seu Monitor de Atividades (como o Gerenciador de Tarefas no Windows) mostrando as barras de uso da CPU para cada um desses núcleos lógicos (desde que sejam <= 4 , de acordo com a documentação técnica da Apple) e você está obtendo leituras como 157% para o Firefox, etc. Isso não é não incomum e provavelmente normal se você tiver vários downloads, aplicativos, jogos, etc. sendo executados ao mesmo tempo. Mas observe: diferentes processos de aplicativos residem em diferentes partes do espaço de memória virtual do usuário, por isso também é possível ver vários processos de aplicativos que têm >100% de uso da CPU ao mesmo tempo, por exemplo, Firefox 157% e iTunes 200% etc.

É impossível ver o uso de >100% da CPU em um processo em um sistema de CPU de núcleo único, a menos que a ferramenta de relatório que você está usando esteja com defeito. O Firefox provavelmente gera um thread para cada download (se você tiver vários downloads simultâneos), além de vários outros tópicos para guias, renderização etc. e outras coisas acontecendo, e sua leitura de 157% para o processo claramente significa algum desses encadeamentos estavam sendo executados em pelo menos dois núcleos lógicos diferentes ao mesmo tempo. Uma leitura de 296% indicaria pelo menos três núcleos sendo usados etc. O uso da CPU para um processo em um sistema multi-core / multi-thread é uma agregação dos usos da CPU para todos os encadeamentos executados dentro desse processo.

Nota: em um nível prático, você pode consultar isto se seus problemas de download forem específicos do Firefox ou ocorrerem repetidamente.

Você pode encontrar informações sobre o número de núcleos físicos / lógicos no seu computador usando o comando sysctl (na API do BSD se estiver interessado) - se você executar o seguinte comando no seu aplicativo terminal:

$ sysctl -e hw | grep "cpu="

você deve ver algo assim (observe os comentários que inseri, não parte da saída)

hw.ncpu=4         # no. of cores available to the kernel
hw.activecpu=4    # no. of logical cores actively being used by the kernel
hw.physicalcpu=2  # no. of physical cores
hw.logicalcpu=4   # no. of logical cores
    
por 04.01.2015 / 03:35