JVM
文章平均质量分 85
chao430
java 之路
展开
-
cpu 内存飙高 及其他常用命令使用
1. 通过top查看占用cpu或者内存高的进程对应PID top 或者 ps aux (两个命令都可以)2. 找到对应的PID后,查看对应 通过命令top -Hp PID 例如top -Hp 19485就可以列出该进程下的所有线程id3.通过输出大写的P查看线程占用cpu最高的或者通过大写M查看内存占用最高的,然后找到19530这个线程id 输出:195304. 使用命令printf “%x\n”19530输出线程id对应的十六进制码,1ab4f这个码是为了过滤线...原创 2021-11-16 17:14:03 · 2330 阅读 · 0 评论 -
排查CPU故障的方法和技巧
总结下排查CPU故障的方法和技巧有哪些:1、top命令:Linux命令。可以查看实时的CPU使用情况。也可以查看最近一段时间的CPU使用情况。2、PS命令:Linux命令。强大的进程状态监控命令。可以查看进程以及进程中线程的当前CPU使用情况。属于当前状态的采样数据。3、jstack:Java提供的命令。可以查看某个进程的当前线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等。-- jstacktop 查看进程ps aux | gr..原创 2020-12-02 16:32:03 · 1681 阅读 · 0 评论 -
JVM 垃圾回收器
https://www.cnblogs.com/chenpt/p/9803298.html原创 2019-12-11 11:26:00 · 107 阅读 · 0 评论 -
什么是指令重排序?
什么是指令重排序?有两个层面:**在虚拟机层面,**为了尽可能减少内存操作速度远慢于CPU运行速度所带来的CPU空置的影响,虚拟机会按照自己的一些规则(这规则后面再叙述)将程序编写顺序打乱——即写在后面的代码在时间顺序上可能会先执行,而写在前面的代码会后执行——以尽可能充分地利用CPU。拿上面的例子来说:假如不是a=1的操作,而是a=new byte1024*1024,那么它会运行地很慢,此时...原创 2019-05-11 03:08:42 · 7342 阅读 · 0 评论 -
用过哪些JDK自带的命令行工具
一、jps:虚拟机进程状况工具二、jstat:虚拟机统计信息监视工具三、jmap:Java内存映像工具四、jhat:虚拟机堆转储快照分析工具五、jstack:Java堆栈跟踪工具六、jinfo:Java配置信息工具java和javac这两个命令行工具我们应该都很熟悉,但是除了这两个工具jdk/bin里面还提供了很多工具给我们使用,今天就简单介绍有关虚拟机监控且助于故障排查的工具。jd...转载 2019-05-11 03:03:50 · 272 阅读 · 0 评论 -
堆栈异常
Java栈 Java Stack: Java栈总是与线程关联在一起的,每当创建一个线程,JVM就会为该线程创建对应的Java栈,在这个Java栈中又会包含多个栈帧(Stack Frame),这些栈帧是与每个方法关联起来的,每运行一个方法就创建一个栈帧,每个栈帧会含有一些局部变量、操作栈和方法返回值等信息。每当一个方法执行完成时,该栈帧就会弹出栈帧的元素作为这个方法的返回值,并且清除这个栈帧,...原创 2019-05-11 03:03:01 · 3474 阅读 · 0 评论 -
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:...转载 2019-05-10 01:02:07 · 142 阅读 · 0 评论 -
永久代和元空间的变化
随着JDK8的到来,JVM不再有PermGen。但类的元数据信息(metadata)还在,只不过不再是存储在连续的堆空间上,而是移动到叫做“Metaspace”的本地内存(Native memory)中。 其实,移除永久代的工作从JDK1.7就开始了。JDK1.7中,存储在永久代的部分数据就已经转移到了Java Heap或者是 Native Heap。但永久代仍存在于...原创 2019-03-18 17:49:13 · 424 阅读 · 0 评论 -
Java-String.intern的深入研究
Java-String.intern的深入研究What---String.intern方法究竟做了什么:Returns a canonical representation for the string object. A pool of strings, initially empty, is maintained privately by the class String. When ...原创 2019-03-14 16:16:16 · 204 阅读 · 0 评论 -
Jvm dump介绍与使用(内存与线程)
Jvm dump介绍与使用(内存与线程)转载自:https://www.cnblogs.com/orionhp/p/6362718.html很多情况下,都会出现dump这个字眼,java虚拟机jvm中也不例外,其中主要包括内存dump、线程dump。当发现应用内存溢出或长时间使用内存很高的情况下,通过内存dump进行分析可找到原因。当发现cpu使用率很高时,通过线程dump定...转载 2019-03-05 15:32:49 · 520 阅读 · 0 评论 -
JVM调优总结 --持续更新中
1. 减少 Full GC次数减少Full GC次数,ji就需要合理配置JVM参数,堆内存, 栈内存,堆内存中年轻代 、老年代 、永久代(jdk8废除了,替换为元空间)-Xmx1800M:设置JVM最大可用内存为1800M。-Xms1000m:设置JVM初始化内存为1000m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。-Xmn350M:设置年轻代大小为...原创 2019-03-11 14:35:23 · 302 阅读 · 0 评论