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_memgraph.pyc
�
�]ic@sTddlTddlZedd�ed�e�defd��Y���ZdS(i����(t*NtnametmemgraphtmeminfotMemgraphPlugincBs2eZdZd�Zd�Zd�Zd�ZRS(sf内存大图插件,对全局内存、用户态内存和内核态内存的占用进行拆解和分析cCsdS(N(tNone(tselftcontext((s;/usr/local/sysak/.sysak_components/tools/plugin_memgraph.pytcollect
scCst�}d|_|jd�}|jd�jd�}idd6dd6d	d
6dd6d
d6dd6dd6dd6dd6dd6dd6}x�|jj�D]x\}}i|j|<||kr�d|}n
d|}ddg}	g}
|ddkrd }n"t|d�t|d�d!}|
jd"d#|g�||j|d$<|d|d}|
jd%t	j
|d&t�g�||j|d'<xQ|j�D]C\}
}|
j||
t	j
|d&t�g�||j||
<q�Wt	j|	|
|d(t
�}|j|d)7_q�W|S(*Ns!Pod及其容器内存占用情况Rt	podDetecttpod_names内存使用(usage_in_bytes)tusages内存限制(limit_in_bytes)tlimits缓存内存(cache)tcaches匿名内存(rss)trsss"匿名透明大页内存(rss_huge)trss_huges共享内存(shmem)tshmems$不活跃匿名内存(inactive_anon)t
inactive_anons活跃匿名内存(active_anon)tactive_anons$不活跃文件内存(inactive_file)t
inactive_files活跃文件内存(active_file)tactive_files锁定内存(unevictable)tmlockeduPod %s 内存使用情况u容器 %s 内存使用情况s	内存项s内存大小I���iids内存使用率(usage/limit)s%.2f%%tusage_ratiosK8s工作内存(working_set)tis_bytestworking_settshows
(tPluginAnalysisInfottitletget_collect_infotloadtdatatitemstresulttfloattappendt	mem_utilstformat_unittTruetprint_tabletFalsetrender_text(RRtanalysistpod_meminfoR
titem_mapRtvalueRtheadersRRRtktvtres_str((s;/usr/local/sysak/.sysak_components/tools/plugin_memgraph.pytanalysis_podsN		



	"&cCs�t�}d|_|jd�}|jdd�}|jd�|}|jd�}|jd�}|jd�}|jd	�}	|jd
d�}
|||jd�|jd�|jd
�|
}||jd<||jd<||jd<|	|jd<|
|jd<||jd<||jd<||jd<i}|jd�|jd�|d<|jd�|
|d<|jd�|d<|jd�|d<d|jkr�|jd|d<nd|jkr�|jd|d<n|
|d<||jd<i}
||
d<|jd
�|
d
<|jd�|
d<|jd�|
d<|jd �|
d <|jd!�|
d!<|jd"�|
d"<|jd#d�|
d$<|
|jd%<d&}d'd(g}d)tj|�gd*tj|�gd+tj|�gd,tj|	�gd-tj|�gg}tj|||d.t	�}d/}d'd(g}id0d6d1d6d2d6d3d6d4d6d5d6d6d6}g}xP|D]H}||dkr�qyn|j
|j||�tj||�g�qyW|d77}|tj|||d.t	�7}d8}d'd(g}g}id9d
6d:d6d;d6d<d 6d=d!6d>d"6d?d$6d-d6}xP|
D]H}|
|dkrgqKn|j
|j||�tj|
|�g�qKW|d77}|tj|||d.t	�7}||_|S(@Ns内存占用情况RtReservedMemitMemTotaltMemFreetuserUsedt
kernelUsedtMemAvailabletShmemtBufferstCachedtSReclaimablettotaltfreetusedt	avaliableRtreservedsActive(anon)sInactive(anon)tanont	filecachetbufferstMlockedtmlockthuge2Mthuge1Gtusert
SUnreclaimtKernelStackt
PageTablestVmallocUsedt	allocPagetPercputpercputkernels系统内存概览s	内存项s内存大小s总内存(Total)s空闲内存(Free)s已用内存(Used)s可用内存(Available)s预留内存(Reserved)Rs用户态内存使用情况s堆栈内存(Anon)s文件缓存(Filecache)s缓冲区内存(Buffers)s锁定内存(Mlock)s2M大页内存(Hugepagesz_2M)s1G大页内存(Hugepagesz_1G)s共享内存(Shmem)s
s内核态内存使用情况s!Slab可回收内存(SReclaimable)s"Slab不可回收内存(SUnreclaim)s内核栈内存(KernelStack)s页表内存(PageTables)sVmalloc内存(VmallocUsed)sAllocPage内存sPercpu内存(
RRRRR RR#R$R&R'R"tgetR((RRR)RR@R<R=t	user_usedtkernel_usedR?RR>RHRPRR-RR0R+titem((s;/usr/local/sysak/.sysak_components/tools/plugin_memgraph.pyt
analysis_hostFs�		.







 





0


0
	cCs5|jjdt�}|r(|j|�S|j|�S(Nt
enable_pod(tparamsRQR'R1RU(RRRV((s;/usr/local/sysak/.sysak_components/tools/plugin_memgraph.pyR)�s
(t__name__t
__module__t__doc__RR1RUR)(((s;/usr/local/sysak/.sysak_components/tools/plugin_memgraph.pyRs
		6	t(t
plugin_systemR#tplugintplugin_requirestplugin_pod_supportt
PluginBaseR(((s;/usr/local/sysak/.sysak_components/tools/plugin_memgraph.pyt<module>s