top me diz:
last pid: 64807; load averages: 0.99, 0.97, 0.92 up 189+04:47:22 09:16:17
45 processes: 1 running, 44 sleeping
CPU: 0.4% user, 0.0% nice, 0.2% system, 6.4% interrupt, 93.0% idle
Mem: 222M Active, 2151M Inact, 2008M Wired, 823M Buf, 3499M Free
Swap: 8192M Total, 8192M Free
Munin mostra isso um pouco mais claramente:
Como você pode ver, o servidor possui cerca de 8 GB de RAM. Gostaria de saber se posso colocar esta fera em um servidor de 2 GB mais modesto . Agora eu sei o que ativos e buffers significam, eu acho. Mas estou realmente preocupado com as gotas de memória "conectadas" e "inativas". Esses não são mapeados para nenhum processo existente, até onde eu sei.
Observe como a linha verde "ativa" subiu em dezembro: foi quando começamos a usar um daemon BGP neste roteador. Não entendo exatamente o que aconteceu em abril e maio, mas lembro-me de fazer uma atualização do sistema e mudar para o pkgng nessa época.
Aqui está o roteador sobressalente para o primeiro, com menos ram (4 GB):
Parece que este mora perfeitamente bem com metade da RAM e ainda deixa cerca de 2 GB livres, o que me leva a acreditar que eu poderia mudar para uma caixa de 2 GB para este servidor, reduzindo custos e manutenção ...
Alguma sugestão? O que significam os vários contadores de memória mostrados na parte superior? Mais especificamente, o que faz:
- Ativo
- Inativo
- Cache
- Buffers
- Com fio
- Livre
... realmente significa? Eu encontrei algumas postagens explicando partes do subsistema VM e lembro de ter um "ah-ah!" momento compreendendo tudo isso cerca de 12 anos atrás, mas eu esqueci. :) Até o fiel manual do FreeBSD não respondeu à minha pergunta ...
Posso fazer o downgrade para 2 GB?
free
comando do procps ): linux - uso de memória realRespostas:
Active
: Memória atualmente sendo usada por um processoInactive
: Memória que foi liberada, mas ainda é armazenada em cache, pois pode ser usada novamente. SeFree
for necessária mais memória, essa memória poderá ser limpa e liberada. Essa memória não é limpa antes de ser necessária, porque "a memória livre é memória desperdiçada", não custa nada manter os dados antigos, caso sejam necessários novamente.Wired
: Memória em uso pelo Kernel. Esta memória não pode ser trocadaCache
: A memória usada para armazenar dados em cache pode ser liberada imediatamente, se necessárioBuffers
: Cache de discoFree
: Memória totalmente gratuita e pronta para uso.Inactive
,Cache
EBuffers
pode tornar-se livre, se eles são limpos.Portanto, você pode adicionar
Inactive
à suaFree
contagem e considerá-la não utilizada.Wired
é a memória em uso pelo kernel, que inclui a pilha de rede. A execuçãonetstat -m
fornecerá um resumo do uso da memória pela pilha da rede.Com base em seus gráficos, além do salto relativo na
wired
memória no início de março, sim, você deve poder executar essa carga de trabalho em 2 GB de RAM. Se o fizer, considere executar o i386 em vez do amd64, pois cada alocação de memória ocupará menos espaço, pois os ponteiros terão 32 bits em vez de 64 bits.fonte