Estou usando o OS X há alguns meses (Lion e agora Mountain Lion). Eu tenho 8 GB no meu mini e quase diariamente agora ele se aproxima disso. Na máquina Windows 7 com 8 GB, nunca tive esse tipo de problema. De qualquer forma, li na net que a memória inativa é o cache de aplicativos dos programas que foram fechados recentemente e pode ser usado para uma reabertura mais rápida. E essa memória inativa pode ser liberada para um novo aplicativo, se necessário. Não é liberado. Em vez disso, o OS X começa a trocar. Então, minha pergunta é por que o OS X usa swap quando há muita "memória inativa"? Aqui uma tela mostra o que quero dizer:
Eu realmente espero que exista uma maneira de fazer com que o OS X use esses 2,69 GB antes de começar a trocar.
Respostas:
A troca aconteceu aparentemente quando as páginas de RAM inativas estavam realmente ativas.
( Atualização: como foi esclarecido em um comentário, este não é o seu caso. Portanto, as pessoas com o mesmo problema podem pular para a regra horizontal .)
Ou seja, você tinha muitos programas em execução e o kernel trocou algumas páginas. Então você saiu de alguns programas. O kernel marca suas páginas de RAM como inativas. Mas ele não trocará as páginas de volta para a RAM até que essas páginas sejam necessárias. Isso resulta em páginas inativas e trocadas.
Por que não trocar preventivamente as páginas? Porque isso seria apostar contra as probabilidades: a longo prazo, você perde. Vamos pensar em um exemplo simplificado: dois programas A e B que não cabem na RAM ao mesmo tempo. O programa A ainda está em execução e todas as páginas trocadas pertencem a A. O programa B foi encerrado e todas as páginas inativas pertencem a B.
Se o kernel trocar preventivamente as páginas de A e imediatamente após:
Também leve em consideração que a troca (gravação no disco) é mais cara que a troca (leitura do disco). O que torna essa "aposta" ainda mais desinteressante.
Resumindo: confie no seu kernel e não tente enganá-lo.
Atualização: verifica-se que a memória inativa não funciona, pois o artigo Usando o Monitor de Atividade para ler a Memória do Sistema levou muitas pessoas a acreditar que ela funciona. A definição dada no artigo para memória inativa está correta:
Mas o exemplo a seguir é totalmente enganador e simplificado demais (como meu exemplo para ser franco):
Eu procurei por mais recursos online e acabei indo para este tópico na lista de discussão do kernel do darwin, que é bastante informativa. Citando Jim Magee (da equipe de darwin - eu acho):
Isso explica o comportamento que você observa. Ou seja, as páginas inativas que você vê pertencem a programas em execução que não foram usados recentemente. Portanto, quando você inicia um novo programa, as páginas inativas são trocadas. Ao mesmo tempo, as páginas de outros programas são marcadas como inativas para manter a proporção 2/1 de ativo versus inativo.
O tópico também contém algumas sugestões para aprender mais sobre os componentes internos do darwin. Existem também algumas sugestões, caso você comece a investigar o uso da memória devido a problemas de beachball (que geralmente têm pouco a ver com isso).
A conclusão permanece a mesma: confie no seu kernel e não tente enganá-lo. :-)
fonte
Você pode desativar a paginação com segurança se tiver RAM suficiente.
Experimente estes comandos.
Em seguida, reinicie e verifique se o processo dynamic_pager não está mais em execução.
Verifique se não foram criados arquivos de troca
/private/var/vm/
.Para reativar, tente os seguintes comandos:
Você também pode desativar o Spotlight para liberar mais memória ram e reduzir a atividade do disco. Os seguintes comandos são usados para desativar e ativar o Spotlight.
fonte
Não há muito que você possa fazer. Por que faz isso? Porque é assim que o OS X funciona. A parte interessante é como a memória ocupada está aumentando a cada sono que o Mac recebe.
O que você pode fazer:
fonte
O sistema está funcionando como projetado. Mesmo quando não há pressão na memória, pode fazer sentido escrever algumas páginas que não podem ser descartadas, mas que não foram usadas recentemente para trocar quando o sistema não está ocupado. Dessa forma, se houver pressão de memória posteriormente, essas páginas poderão ser removidas da RAM sem precisar primeiro gravá-las para serem trocadas enquanto o sistema estiver ocupado.
fonte