VmSize = Memória Física + Troca?

Tenho uma pequena pergunta sobre VmSize, na documentação é suposto ser o uso da memória da aplicação.

No entanto, no meu sistema:

VmSize = memória física + swap VmHWM parece mais como o que a aplicação realmente estaria usando.

[root@sun ~]# free -m
             total       used       free     shared    buffers     cached
Mem:         12012       9223       2788          0        613       1175
-/+ buffers/cache:       7434       4577
Swap:         3967          0       3967


[root@sun ~]# cat /proc/8268/status
Name:   mysqld
State:  S (sleeping)
Tgid:   8268
Pid:    8268
PPid:   1
TracerPid:      0
Uid:    89      89      89      89
Gid:    89      89      89      89
FDSize: 512
Groups: 89 
VmPeak: 15878128 kB
VmSize: 15878128 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:   7036312 kB
VmRSS:   7036312 kB
VmData: 15839272 kB
VmStk:       136 kB
VmExe:     10744 kB
VmLib:      6356 kB
VmPTE:     16208 kB
VmSwap:        0 kB
Threads:        265
SigQ:   0/96048
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000087007
SigIgn: 0000000000001000
SigCgt: 00000001800066e9
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000001fffffffff
Seccomp:        0
Cpus_allowed:   fff
Cpus_allowed_list:      0-11
Mems_allowed:   00000000,00000001
Mems_allowed_list:      0
voluntary_ctxt_switches:        2567
nonvoluntary_ctxt_switches:     77
Alguma ideia do porquê? Eu tento obter o uso da memória para esta aplicação em particular, mas este resultado realmente não faz sentido.

Obrigado.

Author: rubymonk, 2013-06-18

2 answers

VmSize é a soma de toda a memória mapeada(/proc/pid/maps)

 4
Author: Zang MingJie, 2013-06-19 11:25:26

VMsize é o" espaço de endereço " que o processo TEM EM USO: o número de adresses disponíveis . Estes endereços não têm de ter qualquer memória física ligada a eles. (A memória física ligada é a figura RSS)

Você pode verificar isso alocando um pedaço de memória com {[[0]}, e não fazendo nada para *p: o VmSize irá aumentar em 1k páginas, mas o RSS será (aproximadamente) o mesmo. (seu programa terá memória mais adressable, mas não enderece - o, para que a memória não precise de ser anexada )

 5
Author: wildplasser, 2013-06-19 11:59:29