jvm
coder_小刀
投身移动互联网的85后码农
展开
-
jstat命令详解
jstat命令详解 1. jstat -gc pid 可以显示gc的信息,查看gc的次数,及时间。 其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。 2.jstat -gccapacity pid转载 2014-07-02 12:36:58 · 3234 阅读 · 0 评论 -
Java类加载机制深度分析
Java类加载机制类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。研究类加载机制的第二个目的是让程序能动态的控制类加载,比如热部署等,提高程序的灵活性和适应性。 在java.lang包里有个ClassLoader类,ClassLoader 的基本目标是对类的请求提供服务,按需动态装载类和资源,只有当一个类要使用转载 2015-01-09 13:09:42 · 793 阅读 · 0 评论 -
Memory Analyzer tool(MAT)
在平时工作过程中,有时会遇到OutOfMemoryError,我们知道遇到Error一般表明程序存在着严重问题,可能是灾难性的。所以找出是什么原因造成OutOfMemoryError非常重要。现在向大家引荐Eclipse Memory Analyzer tool(MAT),来化解我们遇到的难题。如未说明,本文均使用Java 5.0 on Windows XP SP3环境。 为什么用MAT转载 2014-10-19 11:24:12 · 761 阅读 · 0 评论 -
jstack Dump 日志文件中的线程状态
jstack Dump 日志文件中的线程状态dump 文件里,值得关注的线程状态有:死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condition(重点关注) 等待获取监视器,Waiting on monitor entry(重点关注)暂停,Suspended对象等待中,Object.wait() 或 TIMED转载 2014-10-19 15:52:26 · 1712 阅读 · 0 评论 -
jstack和线程dump分析
一:jstackjstack命令的语法格式: jstack 。可以用jps查看java进程id。这里要注意的是:1. 不同的 JAVA虚机的线程 DUMP的创建方法和文件格式是不一样的,不同的 JVM版本, dump信息也有差别。本文中,只以 SUN的 hotspot JVM 5.0_06 为例。2. 在实际运行中,往往一次 dump的信息,还不足以确认问题。建议产生三次 dum转载 2014-10-28 22:43:12 · 782 阅读 · 0 评论 -
jstack dump线程
线程名称 所属 解释说明Attach ListenerJVMAttach Listener 线程是负责接收到外部的命令,而对该命令进行执行的并且吧结果返回给发送者。通常我们会用一些命令去要求jvm给我们一些反馈信息,如:java -version、jmap、jstack等等。 如果该线程在jvm启动的时候没有初始化,那么,则会在用转载 2014-10-28 22:41:36 · 810 阅读 · 0 评论 -
了解CMS(Concurrent Mark-Sweep)垃圾回收器
1.总体介绍:CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC ,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。2.CMS过程:初始标记(STW initi转载 2014-10-28 18:56:48 · 2680 阅读 · 0 评论 -
服务器问题排查常用命令
1、top查看系统负载情况,load averageCPU使用情况,按1查看每个CPU的使用情况shift+h 查看每个线程的情况2、free -m 按兆为单位输出内存的已用,未用,总共等结果 total used free shared buffers cachedMem:原创 2014-07-02 12:31:38 · 1474 阅读 · 0 评论 -
JVM常用参数设置
-server -Xms8g初始堆大小-Xmx8g 最大堆大小-Xmn2g 年轻代大小-Xss1024K 每个线程的堆栈大小-XX:PermSize=256m -XX:MaxPermSize=512m Perm不属于堆内存,由虚拟机直接分配,可通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小设置持久代(perm gen)初始原创 2014-07-02 13:57:00 · 1061 阅读 · 0 评论 -
linux 命令 free -m详解
先看一下free命令的输出:total used free shared buffers cachedMem: 2586752 2098752 488000 0 160032 890292-/+ buffers/cache: 1048428 1538324Swa转载 2014-07-02 13:33:22 · 11095 阅读 · 1 评论 -
JAVA ThreadLocal对象浅析
最近在开发过程中,在做一个字典项服务的时候,最开始采用了ThreadLocal对象来缓存数据。在使用ThreadLocal过程中遇到一些问题,这里和大家分享一下。一、 什么是ThreadLocal?顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本。从线程的角度看,就好像每一个线程都完全拥有该变量。转载 2015-03-18 13:47:37 · 1204 阅读 · 0 评论