Eu tenho uma caixa vps de 512M no burst.net e que não tem swap. Meu sistema operacional é centos 6.x x64.
Quando começou, ele usava apenas 58M de RAM.
$ free -m:
total used free shared buffers cached
Mem: 512 58 454 0 0 0
-/+ buffers/cache: 58 454
Swap: 0 0 0
Agora iniciei um programa java (que inicia em python), então free -m
:
$ free -m
total used free shared buffers cached
Mem: 512 380 131 0 0 0
-/+ buffers/cache: 380 131
Swap: 0 0 0
Ah, ele usou (380-58 = 322M) de memória RAM.
Mas quando eu top
:
top - 20:37:01 up 67 days, 3:19, 2 users, load average: 0.08, 0.04, 0.00
Tasks: 20 total, 2 running, 18 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 524800k total, 388300k used, 136500k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ DATA COMMAND
20288 freewind 17 0 936m 48m 11m S 0.0 9.4 0:02.07 799m java
20287 freewind 17 0 179m 10m 3404 S 0.0 2.1 0:00.08 7260 python
20200 root 15 0 91732 3940 2948 S 0.0 0.8 0:00.03 932 sshd
20145 root 15 0 91640 3832 2948 S 0.0 0.7 0:00.02 840 sshd
1474 root 18 0 80296 2312 696 S 0.0 0.4 4:06.86 1684 sendmail
Vejo que o java + python usou apenas 48m+10m = 58M
memória RAM. Por que free -m
programas eles usaram 322M
? Onde está o carneiro desaparecido?
Responder1
No seu caso, o 'free -m' parece informar apenas sobre o uso total de RAM (provavelmente porque você está em um VPS), incluindo buffers e caches que geralmente são responsáveis pelo uso extra de RAM não utilizado pela execução de programas. Você leu oLinux comeu minha RAMpágina?
Responder2
top
está mostrando detalhes de cada instância ou processo, mas free
não mostra.
Quando você usa free
você não sabe exatamente o que está rodando, apenas recebe um resumo.