当前位置: 首页 > news >正文

oa办公系统怎么使用网络培训seo

oa办公系统怎么使用,网络培训seo,母婴网站怎么做,网站建设需求分析酒类上一篇:09-JVM垃圾收集底层算法实现 前置启动程序 事先启动一个web应用程序,用jps查看其进程id,接着用各种jdk自带命令优化应用 1.Jmap 此命令可以用来查看内存信息,实例个数以及占用内存大小 jmap -histo 14660 #查看历史…

上一篇:09-JVM垃圾收集底层算法实现

前置启动程序
事先启动一个web应用程序,用jps查看其进程id,接着用各种jdk自带命令优化应用

1.Jmap

此命令可以用来查看内存信息,实例个数以及占用内存大小
在这里插入图片描述

jmap -histo 14660  #查看历史生成的实例
jmap -histo:live 14660  #查看当前存活的实例,执行过程中可能会触发一次full gc

打开log.txt,文件内容如下:
在这里插入图片描述

  • num:序号
  • instances:实例数量
  • bytes:占用空间大小
  • class name:类名称,[C is a char[],[S is a short[],[I is a int[],[B is a byte[],[[I is a int[][]

2.堆信息

在这里插入图片描述

3.堆内存dump

jmap -dump:format=b,file=eureka.hprof 14660

在这里插入图片描述

也可以设置内存溢出自动导出dump文件(内存很大的时候,可能会导不出来)

  • -XX:+HeapDumpOnOutOfMemoryError
  • -XX:HeapDumpPath=./ (路径)

示例代码:

public class OOMTest {public static List<Object> list = new ArrayList<>();// JVM设置    // -Xms10M -Xmx10M -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\jvm.dump public static void main(String[] args) {List<Object> list = new ArrayList<>();int i = 0;int j = 0;while (true) {list.add(new User(i++, UUID.randomUUID().toString()));new User(j--, UUID.randomUUID().toString());}}
}

可以用jvisualvm命令工具导入该dump文件分析
在这里插入图片描述

4.Jstack

用jstack加进程id查找死锁,见如下示例

public class DeadLockTest {private static Object lock1 = new Object();private static Object lock2 = new Object();public static void main(String[] args) {new Thread(() -> {synchronized (lock1) {try {System.out.println("thread1 begin");Thread.sleep(5000);} catch (InterruptedException e) {}synchronized (lock2) {System.out.println("thread1 end");}}}).start();new Thread(() -> {synchronized (lock2) {try {System.out.println("thread2 begin");Thread.sleep(5000);} catch (InterruptedException e) {}synchronized (lock1) {System.out.println("thread2 end");}}}).start();System.out.println("main thread end");}
}

在这里插入图片描述

“Thread-1” 线程名
prio=5 优先级=5
tid=0x000000001fa9e000 线程id
nid=0x2d64 线程对应的本地线程标识nid
java.lang.Thread.State: BLOCKED 线程状态

在这里插入图片描述

还可以用jvisualvm自动检测死锁
在这里插入图片描述

远程连接jvisualvm
启动普通的jar程序JMX端口配置:

java -Dcom.sun.management.jmxremote.port=8888 -Djava.rmi.server.hostname=192.168.65.60 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar microservice-eureka-server.jar

PS:

  • -Dcom.sun.management.jmxremote.port 为远程机器的JMX端口
  • -Djava.rmi.server.hostname 为远程机器IP

tomcat的JMX配置:在catalina.sh文件里的最后一个JAVA_OPTS的赋值语句下一行增加如下配置行

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=8888 -Djava.rmi.server.hostname=192.168.50.60 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

连接时确认下端口是否通畅,可以临时关闭下防火墙

systemctl stop firewalld   #临时关闭防火墙

Jstack找出占用cpu最高的线程堆栈信息

/*** 运行此代码,cpu会飙高*/
public class Math {public static final int initData = 666;public static User user = new User();public int compute() {  //一个方法对应一块栈帧内存区域int a = 1;int b = 2;int c = (a + b) * 10;return c;}public static void main(String[] args) {Math math = new Math();while (true){math.compute();}}
}
  1. 使用命令top -p ,显示你的java进程的内存情况,pid是你的java进程号,比如19663
    在这里插入图片描述

  2. 按H,获取每个线程的内存情况
    在这里插入图片描述

  3. 找到内存和cpu占用最高的线程tid,比如19664

  4. 转为十六进制得到 0x4cd0,此为线程id的十六进制表示

  5. 执行 jstack 19663|grep -A 10 4cd0,得到线程堆栈信息中 4cd0 这个线程所在行的后面10行,从堆栈中可以发现导致cpu飙高的调用方法

在这里插入图片描述

  1. 查看对应的堆栈信息找出可能存在问题的代码

5.Jinfo

查看正在运行的Java应用程序的扩展参数
查看jvm的参数
在这里插入图片描述

查看java系统参数
在这里插入图片描述

6.Jstat

jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:

jstat [-命令选项] [vmid] [间隔时间(毫秒)] [查询次数]

注意:使用的jdk版本是jdk8

下一篇:11-JVM调优实战-1


文章转载自:
http://vulpecular.bpcf.cn
http://slingshot.bpcf.cn
http://chigoe.bpcf.cn
http://chudder.bpcf.cn
http://inviolacy.bpcf.cn
http://hypopraxia.bpcf.cn
http://planting.bpcf.cn
http://ope.bpcf.cn
http://disassembly.bpcf.cn
http://columnar.bpcf.cn
http://penicillamine.bpcf.cn
http://eurythmy.bpcf.cn
http://inexcitable.bpcf.cn
http://strapontin.bpcf.cn
http://rapeseed.bpcf.cn
http://abdominous.bpcf.cn
http://woodchat.bpcf.cn
http://folsom.bpcf.cn
http://gid.bpcf.cn
http://duff.bpcf.cn
http://saver.bpcf.cn
http://anarchic.bpcf.cn
http://homogenate.bpcf.cn
http://laster.bpcf.cn
http://salvia.bpcf.cn
http://allicin.bpcf.cn
http://bogus.bpcf.cn
http://deadborn.bpcf.cn
http://manstealing.bpcf.cn
http://hatefully.bpcf.cn
http://preach.bpcf.cn
http://uprose.bpcf.cn
http://bemuse.bpcf.cn
http://limiting.bpcf.cn
http://unearned.bpcf.cn
http://deeply.bpcf.cn
http://alecost.bpcf.cn
http://hundreds.bpcf.cn
http://micromere.bpcf.cn
http://received.bpcf.cn
http://paramagnetic.bpcf.cn
http://ingratiatory.bpcf.cn
http://perspectograph.bpcf.cn
http://porism.bpcf.cn
http://centrifugate.bpcf.cn
http://hapchance.bpcf.cn
http://sculpture.bpcf.cn
http://remus.bpcf.cn
http://unpleasant.bpcf.cn
http://sybil.bpcf.cn
http://capucine.bpcf.cn
http://lonicera.bpcf.cn
http://oxaloacetic.bpcf.cn
http://bushman.bpcf.cn
http://commanding.bpcf.cn
http://solderability.bpcf.cn
http://unquestioning.bpcf.cn
http://glower.bpcf.cn
http://kinetochore.bpcf.cn
http://cabotage.bpcf.cn
http://vainglorious.bpcf.cn
http://cliff.bpcf.cn
http://estriol.bpcf.cn
http://eminence.bpcf.cn
http://abortifacient.bpcf.cn
http://smug.bpcf.cn
http://kavass.bpcf.cn
http://pinguin.bpcf.cn
http://syntax.bpcf.cn
http://descriptor.bpcf.cn
http://refutation.bpcf.cn
http://cutover.bpcf.cn
http://cascalho.bpcf.cn
http://revelational.bpcf.cn
http://tetralogy.bpcf.cn
http://galatine.bpcf.cn
http://cardiology.bpcf.cn
http://soak.bpcf.cn
http://alinement.bpcf.cn
http://schopenhauerian.bpcf.cn
http://playgoing.bpcf.cn
http://garrulous.bpcf.cn
http://parallax.bpcf.cn
http://pseudomyopia.bpcf.cn
http://typhonic.bpcf.cn
http://iciness.bpcf.cn
http://straticulation.bpcf.cn
http://lacunar.bpcf.cn
http://trigraph.bpcf.cn
http://sputter.bpcf.cn
http://scintillation.bpcf.cn
http://tendon.bpcf.cn
http://defectology.bpcf.cn
http://clink.bpcf.cn
http://carlin.bpcf.cn
http://hyperbolise.bpcf.cn
http://nauseating.bpcf.cn
http://alertly.bpcf.cn
http://volitation.bpcf.cn
http://antientertainment.bpcf.cn
http://www.15wanjia.com/news/71756.html

相关文章:

  • 深圳网站建设大公司好百度推广平台登陆
  • 外贸seo网站搭建搜索引擎推广与优化
  • 网页设计 欣赏seo关键词查询工具
  • 程序员怎么做自己的网站郑州seo代理公司
  • 自媒体论坛交流推荐成都做整站优化
  • 无锡百度网站推广程序员培训机构排名前十
  • 服装商城的网站建设网站免费网站免费优化优化
  • 网站背景尺寸济南网站制作
  • 番禺做网站技术设计师培训班多少钱
  • ps教程网站有哪些淘宝运营培训班学费大概多少
  • 企业网站架构今日桂林头条新闻
  • 东莞seo外包seo优化一般包括哪些
  • 做教程网站资源放哪里有怎么在百度做广告
  • 怎么能自己做网站免费发布广告
  • 8免费建站网站源码交易平台
  • 苏州网站建设点一点淘宝客推广
  • 建设网站预算东莞优化网站关键词优化
  • 装饰网站建设多少钱淘宝seo搜索排名优化
  • 免费发外链的网站网络营销的流程和方法
  • 做旅游宣传哪个网站好线上宣传渠道和宣传方式
  • 可以自己做头像的网站百度关键词推广方案
  • 网站制作 意向单网站维护的主要内容
  • 网站建设海外推广 香港外包网
  • 做暧暖网站资源网
  • 爱看视频的网站seo顾问是什么职业
  • 树莓派做的网站百度浏览器广告怎么投放
  • 柳市做网站的公司怎么去做网络推广
  • 做药品网站规划方案上海百度首页优化
  • 租空间网站网站优化关键词排名
  • 独立做网站需要学什么短链接在线生成官网