本文主要介绍Alibaba Cloud Linux 2在4.19.91-18.al7
内核版本开始支持的Memcg Exstat(Extend/Extra)功能。
背景信息
- 在cgroup v1接口支持了memory.events、memory.events.local及memory.stat接口。
- 增加memcg全局最低水位调整产生的延迟统计。
- 增加memcg后台异步回收产生的延迟统计。
功能概述
Alibaba Cloud Linux 2内核功能均基于内核接口来实现,本节主要介绍各个功能对应的接口实现方式。
功能 | 说明 |
---|---|
memory events统计 |
在社区版内核的cgroup v2接口中存在memory.events和memory.events.local两个接口,能够查询memcg内发生特定事件的次数统计信息。接口详情请参见内核文档cgroup-v2.rst。 Alibaba Cloud Linux 2在cgroup v1接口新增了memory.events和memory.events.local接口。
说明 memcg根组目录下不存在对应的接口文件。
|
memory workingset统计 |
在社区版内核的cgroup v2接口中存在memory.stat接口,该接口提供了 Alibaba Cloud Linux 2在cgroup v1接口新增了memory.stat接口,并支持查询
workingset refault 、workingset activate 、workingset nodereclaim 及workingset restore 四个统计项。 新增的统计项workingset restore 官方说明,请参见如下内容。
|
memcg全局最低水位调整产生延迟统计 |
Alibaba Cloud Linux 2支持memcg全局最低水位线分级功能,详情请参见Memcg全局最低水位线分级。 Alibaba Cloud Linux 2在memcg.exstat接口中,提供了memcg超过偏移后的全局最低水位线导致的抑制时间统计,即统计项
wmark_min_throttled_ms 。
说明 该统计项将递归到父组,且memcg根组目录下不存在该接口文件。
统计说明:
|
memcg后台异步回收产生延迟统计 |
Alibaba Cloud Linux 2支持memcg后台异步回收功能,即memcg kswapd特性,详情请参见Memcg后台异步回收。 Alibaba Cloud Linux 2在memcg.exstat接口中,提供了memcg后台异步回收产生的延迟统计(包含回收过程中的阻塞时间和实际工作时间),即统计项
wmark_reclaim_work_ms 。
说明 该统计项将递归到父组,且memcg根组目录下不存在该接口文件。
统计说明:
|
功能使用示例
本示例在memcg的挂载点(一般情况下为/sys/fs/cgroup/memory)创建测试文件,确认该memcg文件内包含memory.events、memory.events.local及memory.exstat三个控制接口,并确认memory.stat控制接口内包含workingset
统计项。