jvm 以及端口被占用问题

doc执行:

查看当前java进程的pid:jps   /  jps -l

查看或者修改jvm参数:jinfo - flag  UserG1GC pid

实时修改某个进程中的jvm参数的值:jinfo -flag name=value pid  (只有{manageable状态的才可以实时修改})

查看现场堆栈信息:jstack pid  线程出现问题,容易排查,如死锁。

生产堆内存的快照:jmap -heap pid 

 

 

idea配置:

导出gc日志:-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:gc.log

发生oom时自动dump文件配置:-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heap.hprof

配置堆的大小:-Xms10M -Xmx20M

系统启动时,打印所有的jvm参数配置:-XX:+PrintFlagsFinal

使用gc:-XX:+UseConcMarkSweepGC

设置停顿G1时间:-XX:+UseG1GC -XX:MaxGCPauseMillis=10

启动并发GC时,希望堆内存的占比:(即堆内存使用了多少时,进行并发标记,并发清理,即进行gc): doc设置参数:jinfo -flag InitiatingHeapOccupancyPercent pid

C:\Users\Administrator\Desktop>jinfo -flag InitiatingHeapOccupancyPercent 628
-XX:InitiatingHeapOccupancyPercent=45

 

工具:

jdk自带的:jconsole

jdk自带的:jvisualvm

 

解决:

Windos+r输入cmd,打开终端

输入命令: netstat -ano|findstr 8888

发现端口8888被14192进程占用。

输入命令:taskkill -f -pid 11164 杀死进程!!

 

 

G1和CMS的区别:

G1:标记-整理,停顿时间可配置,使用新生代,老年代,解决了垃圾碎片

CMS:标记-清除,使用老年代,垃圾碎片

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值