# 官方提供@yunTaoScripts 容器内存高排查思路 🔥🔥

# 基本概念

# 内存区别

  • rss 实际占用大小 属于进程的数据,如 Stacks、Heaps 等。可以被进一步分解为

    • 活动内存(active_anon)
    • 非活动内存(inactive_anon),必要时,非活动内存可以被交换到磁盘
  • cache 缓存占用大小 缓存存储器存储当前保存在内存中的磁盘数据。可以进一步分解为

    • 活动内存(active_file)
    • 非活动内存(inactive_file),必要时,首先回收非活动内存
  • swap 使用量 paas平台一般都是关闭的。

# 查看内存

root@d3b6a0b5ceda:/# ls -l /sys/fs/cgroup/memory/
total 0
-rw-r--r-- 1 root root 0 Aug  4 03:34 cgroup.clone_children
--w--w--w- 1 root root 0 Aug  4 03:34 cgroup.event_control
-rw-r--r-- 1 root root 0 Aug  4 03:34 cgroup.procs
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.failcnt
--w------- 1 root root 0 Aug  4 03:34 memory.force_empty
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.kmem.failcnt
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.kmem.limit_in_bytes
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.kmem.max_usage_in_bytes
-r--r--r-- 1 root root 0 Aug  4 03:34 memory.kmem.slabinfo
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.kmem.tcp.failcnt
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.kmem.tcp.limit_in_bytes
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.kmem.tcp.max_usage_in_bytes
-r--r--r-- 1 root root 0 Aug  4 03:34 memory.kmem.tcp.usage_in_bytes
-r--r--r-- 1 root root 0 Aug  4 03:34 memory.kmem.usage_in_bytes
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.limit_in_bytes
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.max_usage_in_bytes
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.memsw.failcnt
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.memsw.limit_in_bytes
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.memsw.max_usage_in_bytes
-r--r--r-- 1 root root 0 Aug  4 03:34 memory.memsw.usage_in_bytes
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.move_charge_at_immigrate
-r--r--r-- 1 root root 0 Aug  4 03:34 memory.numa_stat
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.oom_control
---------- 1 root root 0 Aug  4 03:34 memory.pressure_level
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.soft_limit_in_bytes
-r--r--r-- 1 root root 0 Aug  4 03:34 memory.stat
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.swappiness
-r--r--r-- 1 root root 0 Aug  4 03:34 memory.usage_in_bytes
-rw-r--r-- 1 root root 0 Aug  4 03:34 memory.use_hierarchy
-rw-r--r-- 1 root root 0 Aug  4 03:34 notify_on_release
-rw-r--r-- 1 root root 0 Aug  4 03:34 tasks
# 总物理内存占用 cached + rss ,单位为字节 
root@d3b6a0b5ceda:/sys/fs/cgroup/memory# cat memory.usage_in_bytes 
4747264
# 总物理内存+swap 占用 ,单位为字节 
root@d3b6a0b5ceda:/sys/fs/cgroup/memory# cat memory.memsw.usage_in_bytes 
4751360
# cgroup 内存限制,单位为字节 
root@d3b6a0b5ceda:/sys/fs/cgroup/memory# cat memory.limit_in_bytes 
9223372036854771712
root@d3b6a0b5ceda:/sys/fs/cgroup/memory# cat memory.stat 
cache 2551808
rss 2097152
rss_huge 0
mapped_file 1187840
swap 0
pgpgin 4125
pgpgout 2990
pgfault 12185
pgmajfault 9
inactive_anon 4096
active_anon 2080768
inactive_file 16384
active_file 2531328
unevictable 0
hierarchical_memory_limit 9223372036854771712
hierarchical_memsw_limit 9223372036854771712
total_cache 2551808
total_rss 2097152
total_rss_huge 0
total_mapped_file 1187840
total_swap 0
total_pgpgin 0
total_pgpgout 0
total_pgfault 0
total_pgmajfault 0
total_inactive_anon 4096
total_active_anon 2080768
total_inactive_file 16384
total_active_file 2531328
total_unevictable 0
最后修改时间: 12/27/2022, 12:00:04 PM