kubernetes 有人能解释一下为什么active_file和inactive_file的值远大于我的docker容器的cgroup memory.stat文件中的缓存吗?

rks48beu  于 2022-11-21  发布在  Kubernetes
关注(0)|答案(1)|浏览(243)

有谁能解释一下active_file + inactive_file(~ 228 MiB)怎么可能比cache(~ 537 KiB)大得多?
我的理解是cache应该包括active_fileinactive_file,那么cache的值怎么会这么低呢?
注意:这些统计数据来自kubernetes集群中运行fluentd的容器,用于将日志从节点中的所有pod流到aws cloudwatch,因此容器写入日志文件以及fluentd阅读日志文件时会发生大量文件I/O。(我想知道这种共享文件访问模式是否与此有关...)

/sys/fs/cgroup/memory# cat memory.stat
cache 536576
rss 404602880
rss_huge 0
shmem 0
mapped_file 0
dirty 32768
writeback 0
swap 0
pgpgin 149468
pgpgout 50557
pgfault 904076
pgmajfault 0
inactive_anon 0
active_anon 176812032
inactive_file 216268800
active_file 12009472
unevictable 0
hierarchical_memory_limit 419430400
hierarchical_memsw_limit 419430400
total_cache 536576
total_rss 404602880
total_rss_huge 0
total_shmem 0
total_mapped_file 0
total_dirty 32768
total_writeback 0
total_swap 0
total_pgpgin 149468
total_pgpgout 50557
total_pgfault 904076
total_pgmajfault 0
total_inactive_anon 0
total_active_anon 176812032
total_inactive_file 216268800
total_active_file 12009472
total_unevictable 0
juud5qan

juud5qan1#

自Linux v4.12起,MADV_FREE页面已放入LRU_INACTIVE_FILE列表。请参见https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f7ad2a6cb9f7c4040004bedee84a70a9b985583e
LazyFree页将在内存压力下消失或echo 0 > memory.force_empty

相关问题