云环境对容器pod资源分析常用命令

1、查看命名空间里面的pod:kubectl get pod -n semir-r3-ic

[root@iZ8vb3cdhd9ya95340p0jdZ kubernetes]# kubectl get pod -n semir-r3-ic

NAME READY STATUS RESTARTS AGE 
jck-deployment-yacs-25028-25990-2543089-579f5b4846-7ct2n 1/1 Running 12 20h 
jck-deployment-yacs-25028-25990-2543089-579f5b4846-9wdm8 1/1 Running 10 20h 
jck-deployment-yacs-25028-25990-2543089-579f5b4846-f7gdd 1/1 Running 10 20h 
jck-deployment-yacs-25028-25990-2543089-579f5b4846-fs4wb 1/1 Running 11 20h

2、查看某个pod的事件:kubectl describe pod -n 名称空间

kubectl describe pod jck-deployment-yacs-25028-25990-2543089-579f5b4846-9wdm8 -n semir-r3-ic

3、查看某个pod里面进程状态:/proc/[pid]/status

通过 /proc/[pid]/status 文件,可以查看进程的某些状态信息,其中包括了内存占用情况。其中 [pid] 是进程 ID,可以通过 ps 命令或 top 命令等获得。

在 status 文件中可以找到以下两行信息:

VmRSS: 123456 kB VmSize: 789012 kB

其中:

  • VmSize 表示进程虚拟内存的使用情况,单位是 KB。它包括进程使用的内存总和,包括实际使用的物理内存、虚拟内存、共享内存、库文件等。
  • VmRSS 表示进程实际使用的物理内存的情况,单位也是 KB。它只包括进程使用的实际物理内存。

23 进程为例,可以通过以下命令查看其内存占用情况:

cat /proc/23/status | grep Vm

输出结果会包含 VmRSS 和 VmSize 行的信息。其中,VmRSS 行的值会比 VmSize 行的值小,因为它只包括实际使用的物理内存。

4、查看某个pod里面进程GC情况:jstat -gc 32

5、查看某个pod里面进程对应的资源对象和类的占比关系:jmap -histo pid | head -20

7、dump java堆数据

sudo -u tomcat jmap -dump:live,format=b,file=/dump201612271310.dat 384// 获取所有对象的dumpjmap -dump:format=b,file=/tmp/heap.hprof // 获取存活对象的dump,实际效果是先执行一次FULL GCjmap -dump:live,format=b,file=/tmp/heap-live.hprof

heap dump会造成JVM比较长时间的停顿,必须摘流量执行

dump文件一定要zip后再传输,能节约大量传输时间

tar -zcf /tmp/heap.hprof.gz /tmp/heap.hprof

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瞬间动力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值