`
san_yun
  • 浏览: 2599574 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

linux下jvm 参数调优

 
阅读更多
1.基本概念。
JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn512m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseCompressedOops

-server 启用能够执行优化的编译器。

-Xss 单个线程堆栈大小值。

-Xms 启动应用时,JVM堆空间的初始大小值。

-Xmx 应用运行中,JVM堆空间的极限值。

-Xmn 堆空间的新生代空间大小。

-XX:PermSize永久存储区的大小

2.VM性能诊断工具

基本工具:JPS ,JSTAT,JMAP

Jstat( “Java Virtual Machine statistics monitoring tool” )是JDK自带的一个轻量级小工具。主要对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。
语法结构如下:jstat [Options] vmid [interval] [count]
    Options -- 选项,我们一般使用 -gcutil 查看gc情况
    vmid    -- VM的进程号,即当前运行的java进程号
    interval-- 间隔时间,单位为毫秒
    count   -- 打印次数,如果缺省则打印无数次

root@(none):~# jstat -gcutil 595
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT  GCT  
  0.00   0.00  25.40  29.78  48.50      5    0.036     3    0.238    0.274

    S0  -- Heap上的 Survivor space 0 区已使用空间的百分比
    S1  -- Heap上的 Survivor space 1 区已使用空间的百分比
    E   -- Heap上的 Eden space 区已使用空间的百分比
    O   -- Heap上的 Old space 区已使用空间的百分比
    P   -- Perm space 区已使用空间的百分比
    YGC -- 从应用程序启动到采样时发生 Young GC 的次数
    YGCT-- 从应用程序启动到采样时 Young GC 所用的时间(单位秒)
    FGC -- 从应用程序启动到采样时发生 Full GC 的次数
    FGCT-- 从应用程序启动到采样时 Full GC 所用的时间(单位秒)
    GCT -- 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)


jstat -gccapacity查看内存占用情况
[admin@server12 ~]$ jstat -gccapacity 10010

NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC      PGCMN    PGCMX     PGC       PC     YGC    FGC
65536.0 524288.0  65536.0 6528.0 6528.0  52480.0   196608.0  1572864.0   450572.0   450572.0  21248.0 131072.0  72900.0  72900.0  93842 16790

NGCMN Minimum new generation capacity (KB).
NGCMX Maximum new generation capacity (KB).
NGC Current new generation capacity (KB).
S0C Current survivor space 0 capacity (KB).
S1C Current survivor space 1 capacity (KB).
EC Current eden space capacity (KB).
OGCMN Minimum old generation capacity (KB).
OGCMX Maximum old generation capacity (KB).
OGC Current old generation capacity (KB).
OC Current old space capacity (KB).
PGCMN Minimum permanent generation capacity (KB).
PGCMX Maximum Permanent generation capacity (KB).
PGC Current Permanent generation capacity (KB).
PC Current Permanent space capacity (KB).
YGC Number of Young generation GC Events.
FGC Number of Full GC Events.

jmap
jmap 是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。
使用方法
jmap -histo pid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。
jmap -dump:format=b,file=f1 PID可以将该PID进程的内存heap输出出来到f1文件里。

集成工具: JConsole,jvisualvm

典型性能故障分析

2.vmstat
分享到:
评论
2 楼 san_yun 2011-10-18  
singleant 写道
gc参数也可以整理下 挺有用的
诊断工具 jstack也非常有用


jstack 好像专门看线程死锁,回头研究一下。
1 楼 singleant 2011-10-18  
gc参数也可以整理下 挺有用的
诊断工具 jstack也非常有用

相关推荐

    Linux简单调优与JVM参数.docx

    这里面是linux简单调优的内容,也是我这里经过实践的东西,不过根据不同的服务器,参数会有一些调整,所以,这个供大家参考和使用。

    JVM入门实战/arthas实战/垃圾回收算法/垃圾回收器/jvm内存模型分析

    第六节:JVM参数调优 1.1 JVM重要参数介绍 1.2JVM参数调优 1.3JVM参数设置思路1.4JVM调优常用指令说明 第七节:JVM项目实战 1.1案例背景 1.2排查步骤 1.3.arthas 1.3.1.arthas简介 1.3.2.arthas实战 1.3总结

    LinuxOS性能调优——内存篇

    今天继续在linuxRH上进行调优,之前Jason的linuxOS调优上提到了一般的步骤及方法,今天继续给LinuxOS的调优进行下去,我们关注的还是在内存端的参数,留下点Memory。  今天继续在linuxRH上进行调优,之前Jason的...

    性能调优文档_自动化测试

    该文档为在性能测试过程中对一些中间件的调优,如对tomcat的JVM、连接器、线程数等,中创中间件的JVM、连接数、日志级别调整,weblogic的...同时包括数据库连接池的调优,Apache集群、oracle参数、linux参数调优等等。

    weblogic平台J2EE调优策略

    2.1 JVM调优 2.1.1 垃圾收集和堆大小 2.1.2 jRockit调优 2.2 Server调优 2.2.1 尽量使用本地I/O库 2.2.2 调整默认执行线程数 2.2.3 调整连接参数 2.2.4 创建新的执行队列 2.3 JDBC调优 2.3.1 调整连接池配置 2.4 WEB...

    中间件安装调优指导手册

    Java的安装;...优化JVM参数提高eclipse运行速度;Tomcat JVM优化一例;linux下Nginx+tomcat整合的安装与配置;Memcached安装;memcache集群配置;JMS安装;JMS集群配置;Nginx反向代理;防火墙配置

    linux下服务器的监控(grafana+prometheus)

    目的:通过监控观察压测结果,根据各项数据尝试调整各项参数完成单机调优,主要关注内存、cpu等数据。 目前,自动化构建+压测是这么一个过程: 项目(java案例)提交时通过webhook执行jenkins构建  jenkins构建完成后...

    Weblogic手册.rar

    一、Weblogic 12c 安装 3 1、Weblogic安装规划及环境检查 3 1.1、角色规划: 3 1.2、环境定义: 3 ...3、weblogic 12c JVM参数调整(jdk8) 46 3.1、查看当前jvm参数 46 3.2、weblogic 12c参数调整 46

    Java及大数据学习路线.pdf

    SVN/IDEA开发⼯具 分布式版本管理⼯具Git与Github Mysql⾼级 Mycat实现MySQL的分布式、分库分表、读写分离 Nginx反向代理、负载均衡、动静分离 JVM内存模型、参数调优 JUC线程⾼级 分布式架构注册中⼼Zookeeper 虚拟...

    Eclipse开发分布式商城系统+完整视频代码及文档

    │ 19-tomcat中JVM参数优化.avi │ ├─补充2:Redis3.0新特性、主从复制、集群视频教程 │ │ 打开必读.txt │ │ │ ├─相关资料 │ │ redis-3.0.1.tar.gz │ │ redis-3.0.2.tar.gz │ │ redis-3.2.1.gem │...

    达内java培训目录

    JavaSE核心 异常处理、多线程基础、IO系统、网络编程、Java反射机制、JVM性能调优(JVM内存结构剖析、GC分析及调优、JVM内存参数优化)、Java泛型、JDK新特性 熟练掌握JavaSE核心内容,特别是IO和多线程;...

Global site tag (gtag.js) - Google Analytics