BYPASS SHELL BY ./RAZORGANZ
Server: nginx/1.20.1
System: Linux iZdzfnv9mwfppeZ 5.10.134-19.2.al8.x86_64 #1 SMP Wed Oct 29 22:47:09 CST 2025 x86_64
User: apache (48)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //usr/local/sysak/.sysak_components/tools/plugin_memcgLeak.pyc
�
�]ic@s?ddlTddlZedd�defd��Y�ZdS(i����(t*Ntnamet	memcgLeaktMemcgLeakPlugincBs)eZdZd�Zd�Zd�ZRS(sHmemcg 泄露检测插件,用于检测内存控制组是否存在泄露cCsqtjd�}t|d��M}|j�}x7|D]/}|jd�dkr4t|j�d�Sq4WWdQXdS(Ns
/proc/cgroupstrtmemoryii(t	mem_utilst
get_real_pathtopent	readlinestfindtinttsplit(tselftfilenametftlinestline((s</usr/local/sysak/.sysak_components/tools/plugin_memcgLeak.pytread_memory_cgroup_nums
cCs)t�}|j�}|jd|�|S(Nt	memcg_num(tPluginCollectInfoRtstore(R
tcontexttcollect_infoR((s</usr/local/sysak/.sysak_components/tools/plugin_memcgLeak.pytcollects	cCsj|jd�jd�}|dkr(dSt�}d|_d||_d|_d|_||jd<|S(NRRi's内存控制组泄露检测s=系统可能存在 memcg 泄露,内存控制组数量为 %ss�通常是由于 cgroup 内的进程使用了页面缓存(pagecache),并且 cgroup 被删除时页面缓存(pagecache)没有被回收,此时 cgroup 在用户态不可见但是仍然会被统计在 /proc/cgroups 接口中。sb1. `echo 1 > /sys/kernel/mm/memcg_reaper`,触发后台memcg回收;
2. 查看 `共享内存缓存占用排序` 列表,如果是shmem引起的泄漏,请删除对应的 shmem 文件;
3. 如果前两步没有缓解,可以在机器上执行 `echo 1 > /proc/sys/vm/drop_caches` 来清除页面缓存(pagecache),以此来清除僵尸 cgroup。(	tget_collect_infotloadtNonetPluginAnalysisInfottitletsummarytreasont
suggestiontresult(R
RRt
analisys_info((s</usr/local/sysak/.sysak_components/tools/plugin_memcgLeak.pytanalysiss		
		
(t__name__t
__module__t__doc__RRR#(((s</usr/local/sysak/.sysak_components/tools/plugin_memcgLeak.pyRs		(t
plugin_systemRtplugint
PluginBaseR(((s</usr/local/sysak/.sysak_components/tools/plugin_memcgLeak.pyt<module>s