导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:356
阅读量:1746357
访问量:218307
至今:
×
博文->>搜索结果(耗时0.029秒) 博文列表>>
Tags : JVM,jmap,JDK 发表时间: 2017-12-19 20:13:48
使用JVM命令jmap-heap318出现如下异常:jmap-heap318AttachingtoprocessID318,pleasewait...Exceptioninthread"main"java.lang.reflect.InvocationTargetExceptionatsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)atsun.reflect.Delega
类别:Java | 阅读(8478)| 回复(0)| (1) 阅读全文>>
Tags : JVM调优,GC 发表时间: 2017-11-08 21:33:21
垃圾收集器长时间停顿,表现在Web页面上可能是页面响应码500之类的服务器错误问题,如果是个支付过程可能会导致支付失败,将造成公司的直接经济损失,程序员要尽量避免或者说减少此类情况发生。一.并发模式失败(concurrentmodefailure)并发模式失败日志:2016-02-21T13:53:07.974+0800:171467.254:[GC[1CMS-initial-mark:1436199K(1560576K)]1512927K(2504320K),0.0618140secs][Times:user=0.06sys=0.00,real=0.07secs]2016-02-21T13:
类别:Java | 阅读(1617)| 回复(0)| (0) 阅读全文>>
Tags : JVM,面试题 发表时间: 2017-02-19 21:51:13
1.内存模型以及分区,需要详细到每个区放什么。2.堆里面的分区:Eden,survivalfromto,老年代,各自的特点。3.对象创建方法,对象的内存分配,对象的访问定位。4.GC的两种判定方法:引用计数与引用链。5.GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?6.GC收集器有哪些?CMS收集器与G1收集器的特点。7.MinorGC与FullGC分别在什么时候发生?8.几种常用的内存调试工具:jmap、jstack、jconsole。9.类加载的五个过程:加载、验证、准备、解析、初始化。10.双亲委派模型:Bootstra
类别:面试 | 阅读(2254)| 回复(0)| (0) 阅读全文>>
Tags : Java,JVM 发表时间: 2016-07-25 20:48:05
网站以前经常java.lang.OutOfMemoryError,也没仔细去查看到底是哪里出了问题,昨晚又出现这个问题了,今天就仔细查找了下资料,在这里总结下,如有不正确的地方,非常欢迎各位指出。以前对java.lang.OutOfMemoryError的概念,只局限于jvm内存溢出了,今天才发现java.lang.OutOfMemoryError出现时,有多种情况,比如:PermGenspace,Javaheapspace。我现在遇到的是java.lang.OutOfMemoryError:PermGenspace,查了下资料,一般的说法是内存的永久保存区域溢出了,永久保存区域是存放clas
类别:Java | 阅读(2762)| 回复(0)| (0) 阅读全文>>
Tags : Java,JVM 发表时间: 2016-07-25 20:46:02
最近查找了很多关于OOM,甚至于Java内存管理以及JVM的相关资料,发现这方面的东西太多了,竟有一种眼花缭乱的感觉,要想了解全面的话,恐非一篇文章能说清的,因此按照自己的理解整理了一篇,剩下的还需要继续学习。1)什么是OOM?OOM,全称“OutOfMemory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明:ThrownwhentheJavaVirtualMachinecannotallocateanobjectbecauseitisoutofmemory,andnomorememorycouldbemadeavailable
类别:Java | 阅读(1639)| 回复(0)| (0) 阅读全文>>
Tags : 业务系统,Java,JVM 发表时间: 2016-01-21 20:17:31
在关键的业务系统里,除了继续追求技术人员最爱的高吞吐与低延时之外,系统的稳定性与出现问题时排查的便捷性也很重要。这是本文的一个原则,后面也会一次又一次的强调,所以与网上其他的文章略有不同,请调优高手和运维老大们多指引。前言1,资料学习开源项目的启动脚本是个不错的主意,比如Cassandra家的,附送一篇解释它的文章。JVM调优的"标准参数"的各种陷阱R大的文章,在JDK6时写的,期待更新。偶然翻到Linkedin工程师的一篇文章。更偶然翻到的一份不错的参数列表。前言2,-XX:+PrintFlagsFinal打印参数值当你在网上兴冲冲找到一个可优化的参数时,先用-XX:+PrintFlagsF
类别:Java | 阅读(1771)| 回复(0)| (0) 阅读全文>>
Tags : Java,内存泄漏,JVM,Heap Dump,MAT 发表时间: 2019-03-04 22:19:42
正如ThreadDump文件记录了当时JVM中线程运行的情况一样,HeapDump记录了JVM中堆内存运行的情况。可以通过以下几种方式生成HeapDump文件:使用jmap命令生成jmap命令是JDK提供的用于生成堆内存信息的工具,可以执行下面的命令生成HeapDump:1jmap-dump:live,format=b,file=heap-dump.bin<pid>其中的pid是JVM进程的id,heap-dump.bin是生成的文件名称,在执行命令的目录下面。推荐此种方法。使用JConsole生成JConsole是JDK提供的一个基于GUI查看JVM系统信息的工具,既可以管理本地
类别:Java | 阅读(2968)| 回复(0)| (0) 阅读全文>>
Tags : JVM, -Xmx, -XX, 时间, 垃圾 发表时间: 2017-11-07 00:15:13
堆大小设置JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在WindowsServer2003系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java-Xmx3550m-Xms3550m-Xmn2g-Xss128k-Xmx35
类别:JVM | 阅读(1336)| 回复(0)| (0) 阅读全文>>
Tags : 内存, JVM, Linux, 分析, Java 发表时间: 2017-09-27 22:19:35
引言在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用了),如下图所示。同时,由于SWAP和GC同时发生会致使JVM严重卡顿,所以我们要追问:内存究竟去哪儿了?要分析这个问题,理解JVM和操作系统之间的内存关系
类别:JVM | 阅读(1396)| 回复(0)| (0) 阅读全文>>
Tags : 偏向, 对象, 竞争, JVM, 阻塞 发表时间: 2017-09-18 02:45:52
何为同步?JVM规范规定JVM基于进入和退出Monitor对象来实现方法同步和代码块同步,但两者的实现细节不一样。代码块同步是使用monitorenter和monitorexit指令实现,而方法同步是使用另外一种方式实现的,细节在JVM规范里并没有详细说明,但是方法的同步同样可以使用这两个指令来实现。monitorenter指令是在编译后插入到同步代码块的开始位置,而monitorexit是插入到方法结束处和异常处,JVM要保证每个m
类别:JVM | 阅读(1376)| 回复(0)| (0) 阅读全文>>
Tags : 反射, GC, 方法, JVM, 对象 发表时间: 2017-08-12 18:11:23
概述公司之前有个大内存系统(70G以上)一直使用CMSGC,不过因为该系统对时间很敏感,偶尔会因为gclocker导致remark特别长(虽然加了-XX:+CMSScavReengeBeforeRemark参数,但是gclocker会导致remark前的YGC被delay),无法忍受这么长的暂停就只好迁移到了G1,经过一系列的调优之后算比较稳定了,这套参数便推到了全部机器上可是就在上周突然有机器出现了FullGC,本来G1设计出
类别:JVM | 阅读(1263)| 回复(0)| (0) 阅读全文>>
Tags : Java,JVM,性能调优 发表时间: 2016-08-25 18:18:29
1、性能调优的步骤1.1、衡量系统现状包括请求次数、响应时间、资源消耗等;如:A系统目前95%的请求响应为1s。1.2、设定调优目标根据用户所能接受的响应速度、系统现有的机器、所支撑的用户量制定出来的,因此通常会设定调优目标:95%的请求在500ms内返回。1.3、寻找性能瓶颈在【2、寻找性能瓶颈】会专门介绍。通常性能瓶颈的表像是:1.3.1、资源消耗过多(CPU、文件IO、网络IO、内存)1.3.2、外部系统处理不足(所调用的其他系统提供的功能——多数情况也是资源消耗过多、数据的操作响应速度不够——根据数据库SQL执行速度、数据库机器的IOPS、数据库的ActiveSessions等分析出来
类别:Java | 阅读(842)| 回复(0)| (0) 阅读全文>>
Tags : JVM性能调优 发表时间: 2016-04-07 19:07:38
Java程序员进阶三条必经之路:数据库、虚拟机、异步通信。前言入门JVM垃圾回收机制后,接下来可以学习性能调优了。主要有两部分内容:JDK工具的使用。调优策略。兵器谱jps列出正在运行的虚拟机进程,用法如下:jps[-option][hostid]选项作用q只输出LVMID,省略主类的名称m输出mainmethod的参数l输出完全的包名,应用主类名,jar的完全路径名v输出jvm参数jstat监视虚拟机运行状态信息,使用方式:jstat-<option><pid>[interval[s|ms]]选项作用gc输出每个堆区域的当前可用空间以及已用空间,GC执行的总次数,GC
类别:Java | 阅读(936)| 回复(0)| (0) 阅读全文>>
Tags : Twitter,JVM优化 发表时间: 2016-04-02 13:57:11
一.调优需要关注的几个方面内存调优CPU使用调优锁竞争调优I/O调优二.Twitter最大的敌人:延迟导致延迟的几个原因?最大影响因素是GC其他的有:锁和线程调度、I/O、算法数据结构选取不当效率低三.内存性能调优(1)内存占用调优OutOfMemoryError异常原因:可能真的数据量太大、可能要数据显示的太多、可能内存泄露数据量太大观察及解决:查看GC日志,看FullGC前后内存变化,变化不大说明确实数据量太大尝试增加JVM的内存使用考虑这些数据是否真的需要都在内存中吗?可以考虑使用:LRU算法换入换出等,弱引用(SoftReferences)数据臃肿(Fatdata)当你想做一些奇怪的事
类别:Java | 阅读(903)| 回复(0)| (0) 阅读全文>>