找到kubernetes 中消耗内存Cache最多的进程

list_cache.sh

#!/bin/bash

cd /sys/fs/cgroup/memory/kubepods.slice/kubepods-burstable.slice
printf "%-110s %-5s  %-10s %-10s\n" pod_name   cache_size  PID PROCESS_NAME
for ID in `grep total_cache */memory.stat |sort -rnk2|head -10|awk -F"_" '{print $5}'|awk -F"." '{print $1}'`; 
do 
        docker_id=`docker ps |grep $ID|grep -v POD|awk '{print $1}'`; 

        docker_name=`docker ps  -a --format "{{.Names}}  {{.ID}}"|grep ${docker_id} |awk '{print $1}' ` ; 

        cache_size=`grep total_cache */memory.stat |sort -rnk2|head -10|grep ${ID}|awk '{print $2/1024/1024}'`;

        PID=`docker ps |grep $ID|grep -v POD|awk '{print $1}'|xargs docker inspect -f '{{.State.Pid}}'`;

        PROCESS_NAME=`pstree $PID|head -1|awk -F"{" '{print $2}'|awk -F"}" '{print $1}'`

        printf "%-110s %-5sMB  %-10s %-10s\n"  ${docker_name} ${cache_size}  $PID ${PROCESS_NAME} 
done

执行结果

[root@ip-10-27-158-183 kubepods-burstable.slice]# sh /tmp/list_cache.sh 
pod_name                                                                                                       cache_size  PID        PROCESS_NAME
k8s_api-gateway_api-gateway-65c995c9d-dcrxk_platform_3966cb6d-af8c-4e5c-b194-9961d652fd9a_0                    5146.81MB  20767      java      
k8s_pa_pa-c4bd5c699-6ntrm_platform_3dcc011b-105e-4a53-b7ef-04f8b73e1ae8_0                                      2067.93MB  1356       java      
k8s_batch_batch-5cbd4cd8b7-95vv8_platform_251bee16-0801-4d68-80b1-45f37a291c91_0                               1092.03MB  16341      java      
k8s_eureka_eureka-0_platform_88878b84-b6de-4788-8f3e-5f1da49e2361_0                                            515.324MB  11521      java      
k8s_cust_cust-67f54956bf-jlxfh_platform_dd44ad68-d18f-482b-a94c-cfe0037b3de3_0                                 417.406MB  24579      java      
k8s_filebeat-oss_filebeat-oss-7jg95_platform_c9473a7a-f371-4401-854c-f7da3e5f764a_1                            400.52MB  11684      filebeat  
k8s_platform-busi-config_platform-busi-config-9747d6f4d-lpdvv_platform_d809438c-5b43-4bb0-b02b-77b490bdbf0c_0  175.848MB  3750       java      
k8s_seata-server_seata-server-77ffcfd9b5-cx88g_platform_506568ee-34b4-4f03-9a0b-2b36961157ce_0                 170.422MB  13492      java      
k8s_proposal_proposal-7c97f4fc66-rhnt6_platform_0d4ce376-02b5-4644-968b-76607fb52935_0                         169.785MB  1910       java      
k8s_config-server_config-server-9777bfcc6-qw6d6_platform_c569c138-ed72-4224-ab44-7c9b0ecdc794_0                116.184MB  8212       java   

按照cache size排序发现全部是Java的。Java里面打开过的文件在cache里面,在有可用内存的情况下是不会主动flush cache的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值