标签目录:jvm

以下是与标签 “jvm” 相关联的文章

如何查看线上的Java进程使用的GC收集器类型

使用下面的命令可以查看是否使用了指定类型GC收集器,结果中有+号则使用这种收集器,否则有-号表示没有使用这个收集器。 并行: jinfo -flag UseParallelGC 13727jinfo -flag UseParallelOldGC 13727(fallback to 串行) 并发: jinfo -flag UseParNewGC 13727(fallback to 串行)jinfo -flag UseConcMarkSweepGC 137……

吐槽JDK自带Math类关于对数API的设计

引言 今天在实现一个算法的时候,需要求对数,于是翻了一下Math类里面的API定义,确实有求对数的API,但是,看来看去总觉得这些API设计有些怪怪的,不符合常人的思维,API也没有自文档化,也就是看了API,不知道应该怎么用。 数学相关知识 为了吐槽吐得有理由据,提前和一个学数学的同事确认了一下对数相关知识: log(x,y……

GC堆最大最小内存随笔

今天公司里面又有人讨论Xms和Xmx设置成一样好呢?还是不一样好呢?这是一个老生常谈的问题,当然,也有很多人知道设置成同样的值会更好些,可是又不知道为什么,还有些人尽管告诉他们设置成一样的好,他们也不太相信,为了能更容易说服一些在技术上比较倔强的人,在网上随便搜索了一下资料,总结如下: Xms和Xmx应该设置……

【翻译】你应该知道的5个令人激动的Java项目

本文为译文,原文连接:Five exciting Java Projects you should know about 每个Java领域的开发人员都有可能使用到这5个项目并且从中受益。2011年在圣何塞大会上曾提名过这些项目。我之所以选择这些项目,是因为我在多个项目中都会使用到他们,并且他们能够帮助我解决现实的问题,最为开发人员,他们能帮助我们解决每天……

JDK启动时检查设置的最大堆内存

大家都知道Xms和Xmx是设置JVM堆的最小值和最大值,给人的印象是启动时候只要有Xms这么大的内存既可,随着内存占用变大,会占用更多的内存,那么如果启动的时候系统没有Xmx这么大的内存,但是有Xms这么大的内存,Jvm会继续运行吗? 答案是No,如果Jvm启动的时候发现Xmx大于系统总体内存,则提示这个内存设置值大于系统可表……

【转载】【经典】Linux与JVM的内存关系分析

 本文转载自:http://tech.meituan.com/linux-jvm-memory.html 引言 在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约 600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理……

Memcache的三种Java客户端的对比和选择

Memcache作为一个著名的缓存项目支持多种语言和多种形式的客户端,作为一个Java开发人员,我们必须了解各种客户端的不同,这有利于我们在技术选型的时候充分的评估其优缺点,从而选择最佳的缓存产品以及缓存客户端,最终对技术选型进行合理的决策。 1.官方提供的基于传统阻塞io由Greg Whalin维护的客户端memcached client……

CMS vs. Parallel GC

GC策略在G1收集器还没有成熟,并且没有得到广泛应用的情况下,目前主要有串行,并发(CMS)和并行(Parallel)三种,其中串行主要应用在客户端的实例中,在CPU资源比较稀缺的情况下,适合使用串行GC,这样可以避免过多的线程切换浪费系统资源,从而可以达到较高的性价比,但是对于高并发的服务器系统,并发和并行垃圾收集策略……

JVM GC调试工具

1. JConsole 2. Visual VM 3. Eclipse MAT 4. JProfiler – http://www.ej-technologies.com/products/jprofiler/overview.html 5. Yourkit – http://yourkit.com/ – 需要使用jvm agent, 非开源有破解 – 参考更多介绍:http://zhwj184.iteye.com/blog/764575

GC参数列表

默认的GC收集器 启动模式 新生代GC方式 旧生代和持久带GC方式 client 串行 串行 server ParNew CMS GC参数列表 参数名称 含义 默认值 -Xms 初始堆大小 物理内存的1/64(<1GB) 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制. -Xmx 最大堆大小 物理内存……

Hotspot JVM GC算法和垃圾收集器

垃圾回收算法 引用计数 – 不能识别循环以来,MS COM Smart Pointer使用,或者教学上使用。 拷贝(Copy-Stop) – Jvm新生代使用,适合朝生夕灭的对象。 标记清除(Mark-Sweep) – CMS老年带默认使用 标记整理(Mark-Sweep-Slide Over) – CMS 老年代通过配置可以使用,适合大对象,生命周期长的对象。 ……

让GC日志打印可读的时间戳

1<code>-XX:+PrintGCTimeStamps -----&gt; -XX:+PrintGCDateStamps 很多线上Java服务器使用-XX:+PrintGCTimeStamps选项打印GC时间,这个选项记录的是Jvm启动时间为起点的相对时间,也就是JVM启动后的毫秒数,可读性较差,不利于定位问题,使用-XX:+PrintGCDateStamps记录的是系统时间,可以结合业务情况或者用……

如何强制JVM执行GC?

在一些业务场景下,用户难以忍受Full GC所带来的长时间响应停顿,这种情况下可以选择在非业务时间手工执行GC,以免老年代过大而导致Full GC执行后stop-the-world时间过长,还有一些情况下,我们需要手工的执行GC,来观察GC的回收情况,从而来排查线上的内存问题,因此,我们需要找到一个简单方便的方法来手工调用GC,今天……