基础参数系类(内存分配)

-server:一定要作为第一个参数,在多个CPU时性能佳

-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一
-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:Javaheap最大值,使用的最大内存

(上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。)默认为1/64 和 1/4
-XX:PermSize:设定内存的永久保存区域
-XX:MaxPermSize:设定最大内存的永久保存区域

-XX:NewSize:设置新生去的初始化大小
-XX:MaxNewSize: 设置新生区的最大内存空间值 默认为(1/64)
-Xss15120k(每个线程的Stack大小)  这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.

+XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。

-XX:+UseParNewGC :缩短minor收集的时间
-XX:+UseConcMarkSweepGC :缩短major收集的时间

       提示:此选项在Heap Size 比较大而且Major收集时间较长的情况下使用更合适。

-XX:+PrintTenuringDistribution
    作用:输出survivor区对象年龄段分布情况,及对象阀值。

 方法区

        PermSize(metaspace)和MaxPermSize(metaspace)指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
  -XX:PermSize(metaspace)=64MB 最小尺寸,初始分配
  -XX:MaxPermSize(metaspace)=256MB 最大允许分配尺寸,按需分配过小会导致:java.lang.OutOfMemoryError: PermGen space(metaspace)
       MaxPermSize(metaspace)缺省值和-server -client选项相关。
       -server选项下默认MaxPermSize为64m
       -client选项下默认MaxPermSize为32m
经验:
      1、慎用最小限制选项Xms,PermSize(metaspace)已节约系统资源。

Java技术专区-虚拟机系列-虚拟机参数(常用)的更多相关文章

  1. 🏆【Java技术专区】「探针Agent专题」Java Agent探针的技术介绍(1)

    前提概要 Java调式.热部署.JVM背后的支持者Java Agent: 各个 Java IDE 的调试功能,例如 eclipse.IntelliJ : 热部署功能,例如 JRebel.XRebel. ...

  2. Java技术专区-虚拟机系列-类加载机制(类的初始化)

      类加载的生命周期:  加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 -> 卸载       加载 -> 验证 -> 准备 -& ...

  3. Java技术专区-虚拟机系列-堆快照(获取)

    1.JVM-堆快照(Snapshot) 1.1 输出方式-获取hprof文件 启动参数配置OOM时触发打印堆快照 (1)tomcat启动方式添加参数 (添加环境变量) export JAVA_OPTS ...

  4. 🏆【Java技术专区】「编译器专题」重塑认识Java编译器的执行过程(消除数组边界检查+公共子表达式)!

    前提概要 Java的class字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻译成机器指令.这个过程是Java虚拟机做的,这个过程也叫编译.是更深层次的编译. 在编译原理中,把源代码翻译成机 ...

  5. 🏆【Java技术专区】「并发编程专题」教你如何使用异步神器CompletableFuture

    前提概要 在java8以前,我们使用java的多线程编程,一般是通过Runnable中的run方法来完成,这种方式,有个很明显的缺点,就是,没有返回值.这时候,大家可能会去尝试使用Callable中的 ...

  6. 🏆【Java技术专区】「开发实战专题」Lombok插件开发实践必知必会操作!

    前言 在目前众多编程语言中,Java 语言的表现还是抢眼,不论是企业级服务端开发,还是 Andorid 客户端开发,都是作为开发语言的首选,甚至在大数据开发领域,Java 语言也能占有一席之地,如Ha ...

  7. Java技术开发专题系列之【Guava RateLimiter】针对于限流器的入门到精通(针对于源码分析介绍)

    Guava包中限流实现分析 RateLimiter 之前的文章中已经介绍了常用的限流算法,而google在Java领域中使用Guava包中的限流工具进行服务限流. 回顾使用案例 Google开源工具包 ...

  8. 🏆【Java技术专区】「延时队列专题」教你如何使用【精巧好用】的DelayQueue

    延时队列前提 定时关闭空闲连接:服务器中,有很多客户端的连接,空闲一段时间之后需要关闭之. 定时清除额外缓存:缓存中的对象,超过了空闲时间,需要从缓存中移出. 实现任务超时处理:在网络协议滑动窗口请求 ...

  9. 【java虚拟机系列】从java虚拟机字节码执行引擎的执行过程来彻底理解java的多态性

    我们知道面向对象语言的三大特点之一就是多态性,而java作为一种面向对象的语言,自然也满足多态性,我们也知道java中的多态包括重载与重写,我们也知道在C++中动态多态是通过虚函数来实现的,而虚函数是 ...

随机推荐

  1. c# 遍历 Mysql 所有表所有列,查找目标数据

    在 Mysql 的 information_schema 库中 COLUMNS 表中存放了所有表的所有列. using MySql.Data.MySqlClient; using System; us ...

  2. Vue小白篇 - Vue 的指令系统 (1) v-text、v-html

    v-text:相当于innerText v-html:相当于innerHTML <div id="box"> {{ msg }} <div v-text=&quo ...

  3. WPF可视对象变换(RenderTransform)-----RotateTransform、TranslateTransform、ScaleTransform

    前言:对于可是元素,我们常见有三种变化,旋转.平移.面积 一.  旋转(RotateTransform) <RotateTransform CenterX="></Rota ...

  4. 从前端角度出发有哪些注意事项有利于SEO?

    1.提高页面加载速度. 能用css解决的不用背景图片,背景图片也尽量压缩大小,可以几个icons放在一个图片上,使用background-position找到需要的图片位置.可以减少HTTP请求数,提 ...

  5. MongoDB--副本集基本信息

    副本集的概念 副本集是一组服务器,其中有一个是主服务器(primary),用于处理客户端请求:还有多个备份服务器(secondary),用于保存主服务器的数据副本.如果主服务器崩溃了,备份服务器会自动 ...

  6. linux c 链接详解1-多目标文件链接

    1. 多目标文件的链接 摘自:linux c编程一站式学习 http://learn.akae.cn/media/index.html 可以学会在linux下将多个c语言文件一起编译. 现在我们把例  ...

  7. 力扣——single number (只出现一次的数字) python实现

    题目描述: 中文: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 英 ...

  8. 创建者模式-Builder

    创建者模式使用多个简单的对象一步一步构建成一个复杂的对象.它提供了一种创建对象的最佳方式.一个 Builder 类会一步一步构造最终的对象,该 Builder 类是独立于其他对象的. 一.类图 创建者 ...

  9. c# 泛型的抗变和协变

    namespace test { // 泛型的协变,T 只能作为返回的参数 public interface Class1<out T> { T Get(); int Count { ge ...

  10. 洛谷 P2441 角色属性树

    题目描述 绪萌同人社是一个有趣的组织,该组织结构是一个树形结构.有一个社长,直接下属一些副社长.每个副社长又直接下属一些部长……. 每个成员都有一个萌点的属性,萌点属性是由一些质数的萌元素乘积构成(例 ...