Поля памяти cgroup memory.stat и /proc/pid/stat не совпадают?

Я переместил процесс в мою группу памяти:

root@host:/dev/cgroups/memory/sush# cat /dev/cgroups/memory/sush/cgroup.procs 
48876
root@host:/dev/cgroups/memory/sush# cat /dev/cgroups/memory/sush/memory.usage_in_bytes 
5615616
root@host:/dev/cgroups/memory/sush# cat /dev/cgroups/memory/sush/memory.stat
cache 12288
rss 5603328
rss_huge 0
mapped_file 0
writeback 0
swap 0
pgpgin 108067
pgpgout 106696
pgfault 949200
pgmajfault 0
inactive_anon 0
active_anon 5603328
inactive_file 0
active_file 12288
unevictable 0
hierarchical_memory_limit 9223372036854771712
hierarchical_memsw_limit 9223372036854771712
total_cache 12288
total_rss 5603328
total_rss_huge 0
total_mapped_file 0
total_writeback 0
total_swap 0
total_pgpgin 108067
total_pgpgout 106696
total_pgfault 949200
total_pgmajfault 0
total_inactive_anon 0
total_active_anon 5603328
total_inactive_file 0
total_active_file 12288
total_unevictable 0

Как видите, значение RSS составляет 5603328 байт, что составляет около 5,3 МБ. Однако это не соответствует значению RSS в файле /proc//stat. В следующем выводе мы видим, что поле RSS имеет значение 26300 КБ, что составляет около 25 МБ.

Они оба показывают одно и то же значение? Если так, то где расхождение?

root@:/dev/cgroups/memory/sush# cat /proc/48876/status 
Name:   python
State:  S (sleeping)
Tgid:   48876
Ngid:   0
Pid:    48876
PPid:   6020
TracerPid:  0
Uid:    0   0   0   0
Gid:    0   0   0   0
FDSize: 64
Groups: 
NStgid: 48876
NSpid:  48876
NSpgid: 48876
NSsid:  6020
VmPeak:  2254624 kB
VmSize:  2131716 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:     26324 kB
VmRSS:     26300 kB
VmData:  2026288 kB
VmStk:       132 kB
VmExe:         4 kB
VmLib:     12288 kB
VmPTE:       448 kB
VmPMD:        20 kB
VmSwap:        0 kB

0 ответов

Другие вопросы по тегам