Categoria: Informações

Dúvida cruel, mas não é do Iberê.

Hoje escrevo sobre algo que me encomoda um pouco. O gerenciamento de memória do sistema operacional.
Não conheço a fundo isso não, então por favor não espere qualquer explicação a respeito disso nesse post.

É mais um desabafo junto com algumas dúvidas.

Imagine alguém que tem fome e um sanduiche delicioso em suas mãos. E que sempre termina passando fome pois vem os gulosos e abocanham seu sanduba.
É assim que me sinto quando abro o google-chrome, sublime, discord, e demais aplicativos de uso diário.
E a memória RAM é o meu sanduiche-iche.

Vejo que o consumo de memória em meu computador pessoal está meio alto, então fecho absolutamente todas as janelas, e meço:

vostrolab ~ # free -m
             total       used       free     shared    buffers     cached
Mem:          3942       1012       2929        276          4        345
-/+ buffers/cache:        663       3279
Swap:            0          0          0

Nada satisfeito, faço reboot do computador, e ao voltar, ainda sem nada aberto, meço a memória novamente:

vostrolab ~ # free -m
             total       used       free     shared    buffers     cached
Mem:          3942        808       3134        185          5        382
-/+ buffers/cache:        420       3522
Swap:            0          0          0

Ficam duas perguntas:

A Primeira: Por quê o sistema operacional ‘come’ tanta memória? Convenhamos que 808 mb não é brincadeira não.. mesmo sem ‘nada’ aberto. Dizemos ‘nada’ entre aspas simples pois é sabido que há uma vasta quantidade de sofwares sendo executados, dentre eles o servidor de exibição /usr/bin/X, também o gerenciador de login /usr/sbin/*dm bem como o gerenciador de janelas que escolhi usar, e a própria janela do terminal onde executei o ‘free -m‘.

A Segunda: Por quê dessa diferença de 1012 para 808? Sendo que, em ambos os casos, estou sem ‘nada’ aberto. Estamos falando de 204 mb. Lembra quando seu computador tinha apenas 256 mb de RAM? Isso não faz muito tempo, pouco mais de 10 anos. Então será que existe algum garbage collector que possa limpar essa memória que parece ser morta? Ou ao menos exibir quem está usando quanto e porque.

Enquanto isso, tenho tentado entender esse comportamento, usando e abusando de ferramentas tais como:

NAME
smem – Report memory usage with shared memory divided proportionally.

NAME
gmemusage – graphically display memory used by running processes.

Note também que, por motivos de disco lento, optei por não usar SWAP aqui nessa máquina.
Confesso também que tenho feito uso de comandos para limpeza de memória, cache, e buffer de sistema de arquivos, tais como:

Clear PageCache only. # sync; echo 1 > /proc/sys/vm/drop_caches
Clear dentries and inodes. # sync; echo 2 > /proc/sys/vm/drop_caches
Clear PageCache, dentries and inodes. # sync; echo 3 > /proc/sys/vm/drop_caches
Flush the file system buffer. # sync

Mesmo assim, tudo é muito obscuro e vago.
Sigo tentando compreender.

Se alguém tiver mais informações sobre como se pode entender mais a respeito disso, por favor me ensine.
É preciso ter mais controle sobre o que está sendo armazenado dentro dos pentes de memória.

Xeu pegar outro sanduíche.

Desempenho de Websites com Google PageSpeed Insights

Muitos se preocupam com boa pontuação no Pages Speed:
pagespeed_animation
Nesta semana foram corrigidas algumas configurações que ficaram erradas após migrações, e que estavam afetando performance.
Isso é muito importante e pode ajudar na performance de websites. Se precisar de algum apoio, conte conosco!

Ah, dica extra sobre Linux:

Se estiver se perguntando “Como fazer uma animação simples como essa aqui logo acima?“. Bom, é bem simples.

Bate duas fotos(a.k.a. screenshots) por exemplo como foi feito ali no pagespeed, uma na abinha mobile, outra na abinha desktop, e faz o seguinte comando numa pasta contendo apenas essas duas imagens:

$ convert -delay 100 -loop 0 *.png animation.gif

Isso vai gerar um gif com nome animation.gif, que fica passando as duas imagens.

Esse exemplo mostra como gerar um gif a partir de duas imagens png. Mas também é possível fazer com mais!! Quantas forem necessário para sua explicação.

Ótima ferramenta de ensino para tutoriais, blogs, manuais de instrução online(aqueles em html).

Lembrando sempre que o convert é uma ferramenta encontrada dentro do pacote do ImageMagick, então se não tens imagemagick:

$ sudo apt-get install imagemagick imagemagick-common

Por: Hudson Santos
Referência: https://unix.stackexchange.com/questions/24014/creating-a-gif-animation-from-png-files