Поля памяти 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