jvm 优化
1、jvm 运行参数
1.1 jvm 参数类型
1.1.1 标准参数
-help
-version
1.1.2 -X参数(非标准参数)
-Xint
-Xcomp
1.1.3-XX参数(使用率高)
-XX:newSize
-XX:+UseSerialGC
2、标准参数
jvm 标准参数,一般都是很稳定的,在未来的jvm 版本中不会改变,可使用java -help 检索所有标准参数
2.1 常用标准参数命令
2.1.1 查看java 版本
java -version
2.1.2 通过-D 设置系统属性参数
java -Dkeyname=value
String value = System.getProperties("keyname")
2.1.3 -server 与 -client 参数
(1)区别:Server VM 的初始化堆空间大、默认使用并行垃圾回收器、启动慢,但是运行快
(2)Client VM 相对初始堆内存小、启动快、但运行慢
(3)64 位操作系统只支持server类型、不支持client类型、jvm根据系统自动选择
3、-X 参数
jvm -x参数是非标准参数 , 在不同版本的jvm 中可能有所不同 ,可以通过java -X 查看非标准参数
3.1 -Xint 、-Xcomp 、-Xmixed
-Xint 是解释器模式,每次都去直接执行字节码,不编译到本地、
-Xcomp 是编译模式 、全部编译到本地、包括只需执行一次的代码
-Xmixed 是混合模式,由JIT 编译器自动选择前面两种模式、jvm默认模式、推荐模式
4、-XX 参数
-XX参数也是非标准参数、主要用户jvm调优和debug操作
4.1 -XX 参数使用方式
4.1.1 boolean 类型
-XX:[+-]<name> : + 表示启动 、-表示禁用
4.1.2 非boolean类型
-XX:<name>=value
4.2 常用命令
4.2.1 -Xms、 -Xmx
-Xms: jvm堆内存初始大小、-XX:InitialHeapSize
-Xmx: jvm堆内存最大大小、 -XX:MaxHeapSize
java -Xms512m -Xmx2048m
4.2.2 查看jvm运行参数
4.2.2.1 运行java命令时打印jvm 运行参数
-XX:+PrintFlagsFinal
java -XX:PrintFlagsFinal -version -jar XXX.jar
结果中,值的操作符号 有 := 和 = ,其中= 为默认值 ,:= 为已被修改
4.2.2.2 查看正在运行的java进程的运行参数
使用jinfo命令查看
(1)使用jps 查看进程
(2)jinfo -flags <进程id>
jvm 优化的更多相关文章
- JVM优化
1.堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般限制在1.5G~2G:64 ...
- JVM 优化问题
jvm 优化问题 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定 ...
- 给hive的metastore做JVM优化
最近在测试环境下,hive的metastore不稳定,于是做一次JVM优化 在hive-env.sh中 export HADOOP_HOME=/opt/cdh/hadoop-2.6.0-cdh5.14 ...
- linux下jvm优化、tomcat调优
系统环境:jdk1.8,apache-tomcat-8.5.35 一.jvm优化 进入 bin/catalina.sh,修改JAVA_OPTS配置: JAVA_OPTS="-server - ...
- 性能优化系列三:JVM优化
一.几个基本概念 GCRoots对象都有哪些 所有正在运行的线程的栈上的引用变量.所有的全局变量.所有ClassLoader... 1.System Class.2.JNI Local3.JNI Gl ...
- 系统优化怎么做-JVM优化之VisualVM
大家好,这里是「聊聊系统优化 」,并在下列地址同步更新 博客园:http://www.cnblogs.com/changsong/ 知乎专栏:https://zhuanlan.zhihu.com/yo ...
- 多核服务器的JVM优化选项(转载)
原文链接 现在多核CPU是主流.利用多核技术,可以有效发挥硬件的能力,提升吞吐量,对于Java程序,可以实现并发垃圾收集.但是Java利用多核技术也带来了一些问题,主要是多线程共享内存引起了.目前内存 ...
- JVM 优化之逃逸分析
整理自 周志明<深入JVM> 1, 是JVM优化技术,它不是直接优化手段,而是为其它优化手段提供依据. 2,逃逸分析主要就是分析对象的动态作用域. 3,逃逸有两种:方法逃逸和线程逃逸. ...
- java架构之路-(JVM优化与原理)JVM之G1回收器和常见参数配置
过去的几天里,我把JVM内部的垃圾回收算法和垃圾回收器.还剩下最后一个G1回收器没有说,我们今天数一下G1回收器和常见的参数配置. G1回收器 G1 (Garbage-First)是一款面向服务器的垃 ...
- Java虚拟机内存基础、垃圾收集算法及JVM优化
1 JVM 简单结构图 1.1 类加载子系统与方法区 类加载子系统负责从文件系统或者网络中加载 Class 信息,加载的类信息存放于一块称 为方法区的内存空间.除了类的信息外,方法区中可能还会存放 ...
随机推荐
- 图论初步2<蒟蒻专属,大佬勿喷>
前言: 本节课讲的是图论的几种遍历方式,若没看图论初步1的赶紧去看 https://www.cnblogs.com/Craker/p/12271090.html 正文: 零.温故而知新 上节课我们学的 ...
- leetcode206 Reverse Linked List
""" Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL ...
- Jquery实现列表增删改
//需求:对列表的增删改 //代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- C++ 类 与 static
背景 从学习C++到使用现在,发现很多新的东西,正好整理一下. static 为静态,指是当类编译加载的时候,内存就会开辟存储空间的. static 数据成员 在类中,static 可修饰 类中的成员 ...
- 51nod 1368:黑白棋 二分图最大匹配
1368 黑白棋 题目来源: TopCoder 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 收藏 取消关注 有一个N*M的棋盘(1<=N,M< ...
- 使用JMX连接JVM
什么是JMX? 什么是JMX,Java Management Extensions,即Java管理扩展,是一个为应用程序.设备.系统等植入管理功能的框架.JMX可以跨越一系列异构操作系统平台.系统体系 ...
- 把自己的项目发布到maven仓库并在maven和gradle中开始使用
把自己的项目发布到maven仓库并在maven和gradle中开始使用 上一条博客中提到的日志打印项目总算是维护的差不多了, 不过现在使用它还是打成jar包放到其他项目内, 所以决定把项目传到mave ...
- Redis详解(八)——企业级解决方案
Redis详解(八)--企业级解决方案 缓存预热 缓存预热就是系统上线后,提前将相关的缓存数据直接加载到缓存系统.避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题!用户直接查询事先被预热的缓 ...
- 从零开始学C++(2 字符串、向量和数组)
可以说string和vector是C++标准库中最重要的两种类型,string支持可变长字符串,而vector表示可变长的集合. string 头文件:<string> 定义在命名空间 s ...
- 原生JS 实现 dom ready
记录一下项目技术问题: 记得:放在head标签内的脚本,第一时间执行 var baseTools = { // dom ready ready: function( f ){ var ie = !!( ...