常用的JVM 调优参数 docker环境下查看内存情况 gc情况

  • Xms2g:初始化推大小为 2g;
  • Xmx2g:堆最大内存为 2g;
  • XX:NewRatio=4:设置年轻的和老年代的内存比例为 1:4;
  • XX:SurvivorRatio=8:设置新生代 Eden 和 Survivor 比例为 8:2;
    – XX:+UseParNewGC:指定使用 ParNew + Serial Old 垃圾回收器组合;
  • XX:+UseParallelOldGC:指定使用 ParNew + ParNew Old 垃圾回收器组合;
  • XX:+UseConcMarkSweepGC:指定使用 CMS + Serial Old 垃圾回收器组合;
  • XX:+PrintGC:开启打印 gc 信息;
  • XX:+PrintGCDetails:打印 gc 详细信息;

查看环境情况

1.docker ps
2.docker exec -it CONTAINER ID sh
3.top
在这里插入图片描述
上半部分显示了整体系统负载情况:

top一行:从左到右依次为当前系统时间,系统运行的时间,系统在之前1min、5min和15min内cpu的平均负载值

Tasks一行:该行给出进程整体的统计信息,包括统计周期内进程总数、运行状态进程数、休眠状态进程数、停止状态进程数和僵死状态进程数

Cpu(s)一行:cpu整体统计信息,包括用户态下进程、系统态下进程占用cpu时间比,nice值大于0的进程在用户态下占用cpu时间比,cpu处于idle状态、wait状态的时间比,以及处理硬中断、软中断的时间比

Mem一行:该行提供了内存统计信息,包括物理内存总量、已用内存、空闲内存以及用作缓冲区的内存量

Swap一行:虚存统计信息,包括交换空间总量、已用交换区大小、空闲交换区大小以及用作缓存的交换空间大小

下半部分显示了各个进程的运行情况:

PID: 进程pid

USER: 拉起进程的用户

PR: 该列值加100为进程优先级,若优先级小于100,则该进程为实时(real-time)进程,否则为普通(normal)进程,实时进程的优先级更高,更容易获得cpu调度,以上输出结果中,java进程优先级为120,是普通进程,had进程优先级为2,为实时进程,migration 进程的优先级RT对应于0,为最高优先级

NI: 进程的nice优先级值,该列中,实时进程的nice值为0,普通进程的nice值范围为-20~19

VIRT: 进程所占虚拟内存大小(默认单位kB)

RES: 进程所占物理内存大小(默认单位kB)

SHR: 进程所占共享内存大小(默认单位kB)

S: 进程的运行状态

%CPU: 采样周期内进程所占cpu百分比

%MEM: 采样周期内进程所占内存百分比

TIME+: 进程使用的cpu时间总计

COMMAND: 拉起进程的命令

查看gc情况:
在刚才top的画面,按ctrl+c退出,输入jstat -gc pid(刚才看见的线程id),可以查看gc情况,还可以查看新生代和老年代等各种详细信息,可以看一下jstat(jvm性能调优工具)文档。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值