Mac OS X usando mais de 4 GB de memória sem nada em execução

6

Meu Mac parece estar usando uma quantidade ridícula de memória quando quase nada está rodando. Imediatamente após reiniciar o computador e apenas iniciar um terminal e o monitor de atividade.

Como é possível usar 5 GB de RAM quando apenas dois processos estão em execução e o uso de memória de acordo com o "Activity Monitor" e htop está mais próximo de 1 GB? Qualquer ajuda ou insight seria muito apreciada.

htop exibe isso:

Eo"Activity Monitor" exibe isso:

    
por user1231120 04.03.2015 / 21:15

2 respostas

16

Isso é muito fácil de explicar. Vejamos uma captura de tela do "Activity Monitor" tirada do meu sistema Mac OS X 10.9.5 agora:

Comissocomoreferência,vamosfazeralgumascontascombasenositensnoladoinferiordireitodacapturadetela:

  • Memóriadoaplicativo:1,59GB
  • Cachedearquivos:1,32GB
  • Memóriacomfio:1,30GB

Adicioneessesnúmeroseototalé:4.21GBquecorrespondeexatamenteaovalordeMemóriaUsadaqueé4.21GB.

Então,qualéadiferençaentreamemóriadoaplicativo,ocachedearquivoseamemóriacomfio?TudoissoémuitoclaramenterespondidonosartigosdesuportedaprópriaApple,intitulados, “Use o Activity Monitor para ler a memória do sistema e determinar quanta RAM está sendo usada ” que é para o Mac OS X 10.8.5 e anterior ou para este artigo “ Como usar o Activity Monitor ” que é para o Mac OS X 10.9 e superior. E aqui estão as definições pertinentes do artigo posterior, uma vez que - com base em suas capturas de tela - você está usando o Mac OS X 10.9 ou superior:

  • Memória do aplicativo: a quantidade total de memória usada atualmente pelos aplicativos e seus processos.
  • Cache de arquivo: Memória que foi usada recentemente por aplicativos e está disponível para uso por outros aplicativos. Por exemplo, se você estiver usando o Mail e, em seguida, sair do Mail, a RAM que o Mail estava usando se tornará parte do cache de arquivos, que se tornará disponível para outros aplicativos. Se você abrir o Mail novamente antes que sua memória cache de arquivo seja usada (sobrescrita) por outro aplicativo, o Mail abrirá mais rapidamente porque seu cache de arquivos é convertido novamente na memória do aplicativo, em vez de carregar todo o conteúdo da unidade de inicialização.
  • Memória com fio: Memória que não pode ser compactada ou paginada para sua unidade de inicialização, portanto, ela deve permanecer na RAM. A memória usada por um processo não pode ser emprestada por outros processos. A quantidade de memória com fio usada por um aplicativo é determinada pelo programador do aplicativo.

Agora, olhando para essas definições, parece que o maior usuário de RAM “inativa” é, na verdade, a área RAM do cache de arquivos. Como é um cache , ele pode ser sobrescrito / realocado imediatamente se necessário pelo sistema. Mas como é realmente um cache , se você reiniciar um aplicativo que usava anteriormente a memória em cache, esse aplicativo será iniciado mais rapidamente.

Portanto, sabendo disso, você pode seguramente assumir que os 1,32 GB de memória usados pelo cache de arquivos podem realmente ser considerados apenas como memória “livre”, já que o sistema irá simplesmente pegá-lo e usá-lo quando puder. E, é claro, tem o benefício adicional de acelerar o lançamento / uso de aplicativos antigos que possuem elementos salvos no cache de arquivos se forem ativados ou usados novamente.

Além disso, observe que o gráfico em execução no centro inferior do "Monitor de atividade" é chamado de "Pressão da memória". Como a Apple descreve:

The Memory Pressure graph helps illustrate the availability of memory resources.

O que é tudo para dizer que o gráfico de "pressão de memória" é uma tentativa da Apple para ajudar a visualizar a complexidade relativa do gerenciamento de memória em sistemas Mac OS X modernos, já que - como você pode ver - decifrar o uso de memória números podem ser confusos às vezes.

    
por 04.03.2015 / 22:27
1

Observe que o "uso" da memória é realmente difícil de estimar. Há um post muito esclarecedor sobre o uso da memória no Android over no Stack Overflow ; Embora haja claramente diferenças entre o Mac OS X e o kernel Linux modificado usado no Android, há semelhanças suficientes que ainda são relevantes.

Levar em conta a memória compartilhada, a memória por processo e a memória virtual leva a uma imagem confusa do que está “na” memória e do que não está. "Activity Monitor" e htop simplesmente usam uma estimativa diferente. Isso não é preocupante, e a quantidade de memória usada no seu caso - 5 GB - é bastante normal, considerando que você tem 8 GB de memória instalada.

    
por 04.03.2015 / 21:44

Tags