jvm
文章平均质量分 96
yeiweilan
欢迎指正
展开
-
JVM内存管理机制
java内存区域与内存溢出异常 程序计数器 程序计数器是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选择下一条需要执行的字节码指令。 由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的。在任何时刻,一个处理器都只会执行一条线程中的指令。为了线程切换后能原创 2017-12-21 17:43:19 · 526 阅读 · 0 评论 -
虚拟机性能监控与故障处理工具
jdk自带的工具 jps:虚拟机进程状况工具可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID.(使用频率最高),因为其他的JDK工具大多需要输入它查询到的LVMID来确认要监控的是哪一个虚拟机进程命令格式 jps[options][hostid] jstat:虚拟机统计信息监视工具用于监视虚拟机各种运行状态信息的命令行工具原创 2018-02-02 18:20:10 · 161 阅读 · 0 评论 -
调优案例分析与实战
内存动态分配和垃圾收集技术高性能硬件上的程序部署策略问题:网站经常出现不定期长时间失去响应的情况 监控服务器运行状况后发现网站响应是有GC停顿导致的,虚拟机运行在Server模式,默认使用吞吐量优先收集器,由于程序设计的问题,访问文档要把文档从磁盘 提取到内存中,导致内存中出现很多有文档序列化产生的大对象,并且这些大对象都进入老年代。内存很快被耗尽。由此出现这样的问题原创 2018-02-05 12:03:32 · 439 阅读 · 0 评论 -
jvm问题总结
第一步:使用top命令查看进程占用CPU的情况,获取PID。 第二步:使用top -H -p命令获取进程中线程信息(其中H:显示进程中线程的情况,p表示进程pid) top -H -p 16243 第三步:获取最高的线程pid(十进制,装换成十六进制),十进制转十六进制可以手动计算也可以用python-c "print hex(线程PID)" 第四步:查看线程...原创 2019-01-10 15:12:41 · 290 阅读 · 0 评论