O VRAM integrado está incluído na RAM `kernel_task` no Activity Monitor?

11

Fiquei surpreso ao descobrir que o kernel do Mac OS X pode consumir 750 MB de RAM. Algumas perguntas relacionadas:

esclareceu um pouco a questão, mas resta uma pergunta: a alegação de que a memória de vídeo para gráficos integrados integrados também é marcada como usada pelo kernel .

É mesmo verdade? A VRAM está incluída no número mostrado pelo Activity Monitor para kernel_task?

sds
fonte
Como observação, minha captura de tela mostrando 750 MB de RAM para o Kernel foi um MacBook Pro, Retina, 13 polegadas, início de 2013 com "Intel HD Graphics 4000 1024 MB" como a única GPU e a CPU com Intel Core i5 de 2,6 GHz . Vou tentar correr sysdiagnosee ver se consigo detalhar sua pergunta principal.
bmike
@bmike: Então, como você tem 1 GB de VRAM e kernel_taskusa "apenas" 750 MB, acabamos de estabelecer que todos os 750 MB vêm da RAM usual, não da VRAM. Direita?
Sds 24/13
Eu tenho 1,8 GB tomado pelo kernel, isso é ruim?
Renderização

Respostas:

3

Qual versão do Mac OS X você está executando?

O kernel_taskno Mac OS X 10.9 Mavericks ocupa 1,07 GB de RAM no meu MacBook Pro 2012 (não Retina) com gráficos integrados Intel HD4000 e 16 GB de RAM do sistema. Sim, isso é completamente necessário. Se você tiver mais RAM física, o Mac OS X utilizará muito para kernel_taskfazer com que o sistema funcione de maneira ideal.

Com cada nova versão do Mac OS X ao longo dos anos, kernel_taskcada vez mais memória é necessária para executar o Mac OS X.

Na minha experiência, se você estiver executando o Mac OS X 10.8 Mountain Lion, seu Mac precisa ter mais de 4 GB de RAM do sistema para funcionar da melhor forma possível (sem que o sistema operacional precise usar o arquivo de troca no disco rígido constantemente, o que diminui a velocidade do desempenho). Agora parece que o seu Mac precisa de mais de 6 GB de RAM para executar o Mac OS X 10.9 Mavericks com eficiência.

A quantidade de RAM necessária para o Microsoft Windows 8.0 e 8.1 é comparável. Isso é simplesmente o que é necessário para os mais recentes sistemas operacionais de computadores pessoais em 2013.

Observe que muitas funções do sistema são executadas abaixo kernel_taske a lista do que está sendo executado no seu Mac muda com base no que você está usando no seu Mac.

Encontrei uma boa explicação para você, em " Kernel_task ocupando RAM no OS X " da CNet em 2011. Uma citação:

... você verá outro processo chamado "kernel_task" que também usará regularmente algumas centenas de megabytes de RAM real e parecerá aumentar sua área de cobertura de RAM com o uso do sistema.

O kernel no OS X é a arquitetura do software responsável por manipular os recursos necessários aos processos e programas. Isso inclui o gerenciamento do agendamento de multitarefa, memória virtual, entrada e saída do sistema e várias rotinas de comunicação entre processos. Além disso, o kernel pode ser modificado e obter funcionalidade aprimorada carregando extensões do kernel (kexts) para fornecer gerenciamento no nível do sistema de recursos como Bluetooth e Wi-Fi, processadores gráficos, hardware de terceiros, acesso a dispositivos periféricos e sistema de arquivos especial Apoio, suporte. Em essência, o kernel é responsável por executar o seu hardware e disponibilizar os recursos de hardware para aplicativos e serviços do sistema.

... o processo "kernel_task" pode consumir uma grande quantidade de memória do sistema. Quando o sistema é iniciado, mesmo que você tenha as extensões do kernel carregadas, nem todos os serviços estão ativos. O sistema pode estar pronto para usá-los, mas não os carregará totalmente até que seja necessário. Portanto, se você inicializar seu sistema e verificar o Activity Monitor, poderá ver o processo kernel_task ocupando uma quantidade relativamente pequena de RAM. Quando você começar a usar o sistema e ativar recursos como sua câmera iSight, serviços Wi-Fi, trocar GPUs e usar dispositivos externos, o kernel_task utilizará os recursos desses dispositivos e aumentará de tamanho.


fonte
2
como isso responde à pergunta real que eu fiz sobre VRAM?
Sds 24/13
Eu acredito que a redação original da sua pergunta, como eu a li, era "O que está incluído no kernel_task?" e é isso que eu estava tentando responder. Desde então, você reformulou o título da pergunta.
2
Lamento que minha pergunta tenha sido confusa. Eu sei o que um kernel é e faz, minha pergunta era sobre relatórios de uso de memória.
sds
2

Eu acho que está incluído. Eu tenho um MBP 13 "2015 com Iris e o kernel_task que consome muita memória também, eu estava investigando a situação e descobri um zprintcomando maravilhoso . Ele imprime o uso de zonas de memória do kernel, vejo duas entradas que ocupam a maior parte a memória para mim:

  • com.apple.iokit.IOAcceleratorFamily2 - 758044K
  • vm.pages.array - 221204K

Infelizmente, não encontrei informações confiáveis ​​no IOAcceleratorFamily2 (e não encontrei informações sobre vm.pages.array), mas o nome sugere que ele tem a ver com E / S e aceleração. A partir dessas informações, acho que faz parte da memória, responsável pela aceleração do vídeo e dedicada às necessidades de processamento de imagem da Iris.

Fiz um pequeno teste, iniciando uma gravação de tela e dois vídeos 4K do YouTube em paralelo: com.apple.iokit.IOAcceleratorFamily2 subiu para 1,1G em questão de segundos e, depois que parei a gravação e os vídeos, ele caiu para 630M . Portanto, acho que é muito provável que seja responsável pela VRAM.

Artem Shitov
fonte
Portanto, não há como reduzir esse quase gigabyte de RAM? O chipset de vídeo não deveria ter uma memória dedicada? Tomando mínimo 800MB de RAM é um crime :(
Kamafeather