Por que meu MacBook Pro já está usando memória de troca?

21

Eu tenho um MacBook Pro 13 "de 13" com 8 GB de memória. Ultimamente, meu MacBook Pro usa memória de troca, quando tem memória livre suficiente. Isso é normal e posso fazer algo sobre isso? O Xcode open usa 99% da RAM .. Esse comportamento é normal?

insira a descrição da imagem aqui

Bas
fonte
@ Mark, vou manter isso aberto - a outra pergunta não se concentra na troca como sintoma. Eu acho que isso é um pouco diferente o suficiente para justificar algumas respostas extras que podem não se encaixar na questão vinculada.
bmike

Respostas:

18

Este é um comportamento normal. Você não está tendo nenhum problema de memória na captura de tela acima. O que eu suspeito que está acontecendo é que o OS X está criando algum tipo de espaço reservado para ativar a memória swap, em vez de realmente usar a memória swap aqui. Eu nunca vi um zero na seção de memória de troca, a menos que tenha acabado de reiniciar e abrir a janela do Monitor de Atividade, e mesmo assim, raramente vejo zero.

Com Mavericks e Yosemite, a maneira como o sistema operacional usa a memória mudou um pouco. Essencialmente, o sistema operacional retira toda a memória e a gerencia, conforme necessário. Portanto, nossa maneira tradicional de visualizar o relatório de memória no Activity Monitor não é realmente válida. Devido a isso, o Mavericks adicionou o medidor de 'Pressão da memória', para lhe dar uma ideia de quando você tem uma limitação causada pela memória. Na sua captura de tela, você tem uma pressão de memória verde. Para mais, veja esta resposta .

O Ars Technica tem uma boa descrição dessa 'compressão de memória' em sua revisão do Mavericks:

http://arstechnica.com/apple/2013/10/os-x-10-9/17/

cmason
fonte
Bem dito. 256 KB de troca é um erro de arredondamento e pode ser apenas um espaço reservado para garantir que o arquivo de troca exista e esteja aberto. Se o sistema ficar sem identificadores de arquivos ou recursos, depois de criar e abrir esse arquivo, poderá permitir maior estabilidade e recuperação de casos extremos.
bmike
2

De acordo com o que posso entender na sua captura de tela (não sei seu idioma), você está usando apenas 256 KB de espaço de troca, o que não é nada. Eu não me preocupo, a menos que sua pressão de memória suba

Brethil
fonte
No momento, é de fato 256KB, mas às vezes usa 120mb ou mais se houver alguma memória livre.
Bas
Eu diria que isso é normal, meu Mac tem sido até por quase seis dias agora, e eu tenho ~ 200MB de swap em uso, com 16GB de RAM instalada e 24% pressão de memória (verde)
Brethil
@Bas Faça um follow-on quando você encontrar um swap crescente. Você pode executar vm_stat 60ou até mesmo 300o intervalo e, em seguida, ver como é a paginação e fazer upload de um segundo snap do monitor de atividades mostrando o caso da paginação.
bmike
0

Você precisaria monitorar a memória e o uso da troca, pois o arquivo de troca foi criado para ter a chance de entender por que a troca foi criada. Com base no que você descreve no texto e na captura de tela, não vejo nada preocupante.

Por que o swap foi criado quando você assume que tinha RAM livre. O sistema operacional pode mudar para troca com base em medidas preditivas. Por exemplo, talvez você tenha iniciado o Photoshop, que teve vários arquivos de imagem grandes reabridos automaticamente a partir de uma sessão anterior. O sistema operacional percebeu que de repente houve uma enorme demanda nova por RAM e moveu algum conteúdo de RAM não utilizado para trocar antecipadamente uma necessidade esperada.

Ou seu programa de backup foi executado brevemente em segundo plano e fez um grande número de somas de verificação e comparações de arquivos e criou grandes estruturas de dados baseadas em RAM, empurrando outros conteúdos para troca. Então o programa de backup liberou sua RAM e voltou a dormir.

O Mac OS X (e o SO mais moderno: Windows, Linux etc.) é muito inteligente sobre o uso automático de cache, troca, compactação de memória e outras técnicas para manter o sistema funcionando o mais rápido possível. Eu realmente não me preocuparia com isso, a menos que você veja que o Monitor de Atividade está relatando que a Pressão da Memória está na zona Amarela ou Vermelha.

Atualmente, tenho um MacBook Pro de 13 "de 2010 com 16 GB de RAM. Faço muito trabalho pesado no uso da RAM. (Desenvolvimento da Web, mineração de dados, executando muitos aplicativos pesados ​​ao mesmo tempo.) Mesmo com 16 GB às vezes atinja a zona amarela devido à pressão da memória, mas devo dizer que isso raramente é um problema, pois o Mac OS X é muito bom em alocar recursos, conforme necessário.

Embora eu precise dos 16 GB de RAM para o meu trabalho, você deve saber que essa atualização não ocorre sem negativos. A RAM extra reduz significativamente a vida útil da bateria, tanto no uso ativo quanto no modo de suspensão.

Lee Joramo
fonte
-1

Seu Mac roda em Unix (certificação Single Unix Specification 2003) e esse sistema operacional existe há mais de 40 anos. Os principais componentes (como gerenciamento de memória) são gravados, atualizados, depurados e polidos por pessoas que são especialistas definitivos no campo. A Apple, com mais dinheiro disponível do que o Tesouro dos EUA, pode contratar o melhor absoluto.

Portanto, a menos que você tenha pelo menos um doutorado em ciência da computação teórica e tenha escrito sua tese sobre gerenciamento de processos e memória no nível do kernel, pare de se preocupar com o gerenciamento de memória. Eu tenho 24Gb na minha área de trabalho e ele ainda usa swap. Isso não me preocupa nada.

Paulo
fonte
3
Você está certo, mas isso não responde à minha pergunta. Não estou dizendo que as pessoas que criaram o sistema operacional não sabem o que estão fazendo. Minha pergunta era se esse era um comportamento normal e estou interessado em saber por que está fazendo isso. Porque não faz sentido para mim usar SWAP se ainda há alguma memória disponível ..
Bas
O que quero dizer é que tudo o que acontece debaixo do capô é normal. A menos que seu disco esteja cheio devido a quantidades absolutamente impressionantes de troca, você deve considerar o motivo porque o gerenciador de memória decidiu que precisava.
paul
1
Isso é quase inteiramente falso. O macOS não possui código Unix original, usou algumas peças * BSD e Mach e pode ter a certificação POSIX. O gerenciamento da página da VM, no entanto, é quase completamente código da Apple e eles adicionaram muita instabilidade nas últimas versões, modificando-a como adicionar vm_compression. Também a ciência da computação teórica não se preocupa com essas questões muito práticas. Ultimamente, eles são péssimos no desenvolvimento de sistemas operacionais.
30918 sleeplessnerd
Resposta ridícula. Tenho certeza de que eles têm especialistas em criar todo o produto, mas os erros acontecem e eles entendem bastante as coisas.
Chrismacp