当前位置: 首页 > 编程日记 > 正文

虚拟机配置参数

标准参数:
保证所有JVM的实现都可以支持
-client
设置Hotspot client jvm,64位jdk会忽略该参数并设置-server
-Dproperty=value
用于设置系统属性,如果value中有空格,则需要设置-Dproperty="value value"
-server
选择Hotspot Server JVM,64位jdk只支持server VM.
这个参数是隐含的,即默认设置
-verbose:class
显示加载的每个class信息
非标准参数:
一般被用于HotSpot JVM,所以他们不能保证所有的JVM实现都可用,
这些参数以-X开头
-Xloggc:garbage-collection.log
设置详细GC事件信息重定向到指定的日志记录的文件
-Xmn256m
设置初始化以及最大young区
堆中的young代区用于创建Object
GC在young代执行比其他区域频繁
如果young区被设置的很小,会导致一些小的gc频繁执行
如果young区被设置的很大,会导致只有full gc时才可以被执行回收young区,并且会消耗很长时间
Oracle建议young区设置为全部堆的一半到四分之一
可以分别设置 -XX:NewSize初始化大小以及-XX:MaxNewSize最大young区两个配置来代替-Xmn配置
-Xms6m
设置初始化堆(字节)大小,这个值必须是1024的倍数并且大于1MB
如果没有设置这个区大小,这个初始化大小将被设置为old区和young区的合计大小
-Xmx80m
指定内存分配池的最大字节数
这个值比较时1024的倍数并且大于2M
默认值会根据系统运行的配置选择
对应一些服务端应用, -Xms与-Xmx通常配置为相同大小、
-Xmx等同于-XX:MaxHeapSize
-Xnoclassgc
用于禁用GC,这可以节省一些在系统运行期间短暂暂停的时间
-Xss1024k
设置每个线程栈的大小
-Xss等同于-XX:ThreadStackSize
这个值可以根据不同操作系统自动设置大小:
Linux/ARM (32-bit): 320 KB
Linux/i386 (32-bit): 320 KB
Linux/x64 (64-bit): 1024 KB
OS X (64-bit): 1024 KB
Oracle Solaris/i386 (32-bit): 320 KB
Oracle Solaris/x64 (64-bit): 1024 KB
高级运行时参数:
不建议随便设置这些是用于调优Java HotSpot虚拟机操作的特定领域的开发人员选项,这些领域通常具有特定的系统需求,并且可能需要特权访问系统配置参数。
这类命令以-XX开头
-XX:+UseConcMarkSweepGC
为旧代启用CMS垃圾收集器。当吞吐量(-XX:+UseParallelGC)垃圾收集器无法满足应用程序延迟需求时,Oracle建议您使用CMS垃圾收集器。G1垃圾收集器(-XX:+UseG1GC)是另一种选择。
-XX:+UseG1GC
启用垃圾优先(G1)垃圾收集器。它是一个服务器风格的垃圾收集器,目标是具有大量RAM的多处理器机器。它满足GC暂停时间目标的可能性很高,同时保持良好的吞吐量。对于需要大堆(大小约6gb或更大)、GC延迟要求有限(稳定且可预测的暂停时间低于0.5秒)的应用程序,建议使用G1收集器。
-XX:+UseParallelGC
允许使用并行清除垃圾收集器(也称为吞吐量收集器)通过利用多个处理器来提高应用程序的性能。
默认情况下,禁用此选项,并且根据机器的配置和JVM类型自动选择收集器。如果启用了-XX:+UseParallelOldGC选项,则自动启用,除非显式禁用。
-XX:+UseParallelOldGC
对于Full GC,使用并行回收GC,
使用-XX:+UseParallelGC选项时会默认启用该选项
-XX:+UseParNewGC
在young区使用并行回收GC
-XX:+UseSerialGC
启用串行垃圾收集器。对于不需要垃圾收集提供任何特殊功能的小型简单应用程序,这通常是最佳选择。默认情况下,禁用此选项,并且根据机器的配置和JVM类型自动选择收集器。
-XX:ErrorFile=/var/log/java/java_error.log
指定当出现不能复现的错误时错误日志应该输出到的文件地址
默认这个文件创建在工作路径下的hs_err_pid.log中
-XX:MaxDirectMemorySize=1m
设置New I/O可以分配的最大【直接缓冲区】字节数
默认这是为0,即jvm自动选择New I/O可分配的【直接缓冲区】字节大小
-XX:ThreadStackSize=1m
指定线程栈大小
-XX:LogFile=/var/log/java/hotspot.log
设置日志地址
高级的GC选项
这些选择用于Hotspot VM
-XX:+AggressiveHeap
启用java堆优化,基于RAM和CPU的配置通过设置各种参数使其跟适合带有密集分配内存的长时间任务的分配
默认关闭的
-XX:ConcGCThreads=2
设置用于并发GC的线程数
默认为CPU数
-XX:+DisableExplicitGC
禁用堆System.gc()的处理
-XX:+ExplicitGCInvokesConcurrent
通过使用System.gc()调用并发GC,这个参数只有在-XX:+UseConcMarkSweepGC一起使用时才有效
默认关闭
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses
通过使用System.gc()调用并发GC并且在GC期间不加载class,这个参数只有在-XX:+UseConcMarkSweepGC一起使用时才有效
默认关闭
-XX:G1HeapRegionSize=16m
设置在使用垃圾优先(G1)收集器时将Java堆细分到的区域的大小
这个值在1M到32M之间
-XX:+G1PrintHeapRegions
能够打印有关分配哪些区域以及哪些区域由G1收集器回收的信息
默认关闭
-XX:G1ReservePercent=20
-XX:InitialHeapSize=6m
设置内存池分配的初始化大小
这个值必须是1024的倍数并且大于1M
-XX:InitialSurvivorRatio=ratio
设置垃圾回收器中survivor区的占比(在-XX:+UseParallelGC 或者 -XX:+UseParallelOldGC两个参数下才生效)
根据青年一代的大小(Y)和初始生存者空间比(R),可以用以下公式计算生存者空间的初始大小(S):S=Y/(R+2)
等式中的2表示两个幸存者空间。指定为初始存活空间比的值越大,初始存活空间大小越小。
默认的survivor 区占比是8
如果默认值young区为2M,则survivor区打下为0.2M
-XX:MaxGCPauseMillis=500
设置GC最大暂停时间
这是一个软目标,JVM将尽最大努力来实现它
默认没有最大的时间暂停时
单位是毫秒
-XX:MaxHeapSize=80m
设置最大的可分配内存池大小
-XX:MaxHeapSize等同于-Xmx
-XX:MaxHeapFreeRatio=percent
-XX:MaxHeapFreeRatio=75
设置一次GC事件后最大的空余堆占比,如果实际空余堆空间扩张到了这个占比,那么堆空间将进行收缩
默认设置70%
-XX:MinHeapFreeRatio=percent
设置一次GC事件后最小的空余堆占比,如果实际空余堆空间低于这个占比,那么堆空间将进行扩展
默认设置40%
-XX:MaxMetaspaceSize=size
-XX:MaxMetaspaceSize=256m
设置能够被分配给class原数据使用的最大本地内存
默认没有限制
应用程序的元数据数量取决于应用程序本身、其他正在运行的应用程序以及系统上可用的内存数量
-XX:MetaspaceSize=size
设置所分配的类元数据空间的大小,该空间将在第一次超过该空间时触发垃圾收集
根据所使用的元数据的数量,增加或减少垃圾收集的阈值。
-XX:MaxNewSize=size
设置最大的young区大小
-XX:MaxTenuringThreshold=threshold
设置用于自适应GC分级的最大拉伸阈值。最大的值是15。并行(吞吐量)收集器的默认值是15,CMS收集器的默认值是6。
-XX:NewRatio=ratio
设置young区与old区的比例
默认比例为2
-XX:NewSize=size
-XX:NewSize=256m
设置young区堆的初始化大小
堆中的young代区用于创建Object
GC在young代执行比其他区域频繁
如果young区被设置的很小,会导致一些小的gc频繁执行
如果young区被设置的很大,会导致只有full gc时才可以被执行回收young区,并且会消耗很长时间
Oracle建议young区设置为全部堆的一半到四分之一
-XX:ParallelGCThreads=threads
设置在young区与old区进行并行GC的最大线程数
-XX:+PrintGC
每次GC打印信息
-XX:+PrintGCDetails
每次GC打印详细信息
-XX:SurvivorRatio=ratio
-XX:SurvivorRatio=4
设置eden空间大小与幸存者空间大小的比值
-XX:TargetSurvivorRatio=percent
-XX:TargetSurvivorRatio=30
设置在年轻垃圾收集之后使用的存活空间的期望百分比(0到100)
摘自:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html

转载于:https://www.cnblogs.com/use-D/p/9562285.html

相关文章:

【Qt】QAudioDeviceInfo获取不到音频设备

1、问题描述 使用QAudioDeviceInfo在开发机上可以获取本地的音频设备,但是在目标机上获取不到。 已经将libQt5Multimedia库拷贝到目标机上(如果没有将会报错)。 2、原因 没有将audio的插件拷贝到目标机上,audio插件在Qt安装目录…

异常:android.os.NetworkOnMainThreadException

Android 4.1项目:使用新浪微博分享时报: android.os.NetworkOnMainThreadException 网上搜索后知道是因为版本问题,在4.0之后在主线程里面执行Http请求都会报这个错,也许是怕Http请求时间太长造成程序假死的情况吧。那么网上的朋友…

阿里带火的中台到底是什么?白话中台战略

作者 | 王健,ThoughtWorks首席咨询师。 十多年国内外大型企业软件设计开发,团队组织转型经验。一直保持着对技术的热爱,热衷于技术分享。目前专注在企业平台化转型、中台战略规划,微服务架构与实施,大型遗留系统服务化…

【Qt】Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题

1、问题描述 在ubuntu18.04中第一次安装QT5,运行时报错 qtcreator.sh qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be init…

Bootstrap4 更新笔记

在bootstrap4里&#xff0c; 1. 旧版本bootstrap well变成了什么&#xff1f; well原本是‘’淡灰墙‘’样式。 Bootstrap 4 Beta card-block is now card-body, and bg-faded is now bg-light: <div class"card card-body bg-light"> Well </div>ref&am…

二、JavaScript基础 学好jQuery要了解的

JavaScript与ECMAScript ECMAScript 通过ECMA-262标准的脚本程序设计语言 ECMAScript标准下有 javascript jscript actionscript JavaScript分为值类型和引用类型两大类&#xff0c;有时也称为原始值和引用值。值类型&#xff1a;存储在栈(stack)中&#xff0c;一个值类型的变量…

一文综述经典的深度文本分类方法

作者 | 何从庆转载自AI算法之心&#xff08;ID:AIHeartForYou&#xff09;笔者整理最近几年比较经典的深度文本分类方法&#xff0c;希望帮助小伙伴们了解深度学习在文本分类中的应用。Convolutional Neural Networks for Sentence Classification (EMNLP 2014)Kim在EMNLP2014…

【FFmpeg】便捷函数汇总(持续更新中...)

音频相关&#xff1a; 1、由通道布局获取通道数 int av_get_channel_layout_nb_channels(uint64_t channel_layout);2、由通道数获取默认的通道布局 int64_t av_get_default_channel_layout(int nb_channels);3、返回采样格式对应的字符串名字 const char *av_get_sample_fm…

云服务器代金券

最近腾讯云与阿里云的促销活动都很好&#xff0c;有需要云服务器的可以领取代金券购买 https://www.art-china.club/ 至于配置调试的问题&#xff0c;可以问我&#xff0c;友情帮忙。转载于:https://blog.51cto.com/dnuser/2167896

NLP最新资源:论文、代码、博客、视频一应俱全

整理 | Rachel出品 | AI 科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导读】在近几年&#xff0c;NLP 领域得到了快速的发展&#xff0c;包括 ELMo &#xff0c;BERT在内的新方法不断涌现&#xff0c;显著提高了模型在一系列任务的表现。在本文中&#xff0c;…

android在线播放音乐

2019独角兽企业重金招聘Python工程师标准>>> android在线音乐 一种方法是调用android自带的播放器 //调用系统自带播放器Intent intent new Intent();Uri uri Uri.parse("http://mul1.tximg.cn/music/group/bbs/mp3/44/100715/1279159638887.mp3?z909255638…

head和tail命令详解

基础命令学习目录首页 原文链接&#xff1a;https://www.cnblogs.com/amosli/p/3496027.html 当要查看上千行的大文件时&#xff0c;我们可不会用cat命令把整个文件内容给打印出来&#xff0c;相反&#xff0c;我们可能只需要看文件的一小部分地内容&#xff08;例如文件的前十…

【FFmpeg】ffmpeg工具源码分析(四):filter(过滤器、滤镜)详解

1、简介 FFmpeg用来处理音视频,实现处理功能的核心就是filter(滤镜),和我们使用的美颜功能的滤镜意思差不多,FFmpeg的filter(滤镜)不仅可以处理视频,还能处理音频、字幕等。 官方说明: 在编码之前,ffmpeg可以使用 libavfilter 库中的过滤器处理原始音频和视频帧。几…

【ZooKeeper Notes 14】数据模型

转载请注明&#xff1a;ni掌柜 nileadergmail.com本文主要讲述ZooKeeper的数据模型&#xff0c;包括ZooKeeper的数据视图&#xff0c;节点的层次结构以及节点类型等基本属性。Zookeeper的视图结构类似标准的Unix文件系统&#xff0c;但是没有引入文件系统相关概念&#xff1a;目…

李理:为什么说人工智能可以实现?

作者 | Just出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;尽管市面上关于深度学习的书籍很多&#xff0c;环信 AI 负责人李理认为大部分只关注理论或只关注实践。于是&#xff0c;基于他对深度学习多年的理解&#xff0c;自己着整理手写了一本深度学习理论与实战书…

【FFmpeg】FFmpeg编解码H264产生马赛克、伪影的解决方法

1、问题描述 使用FFmpeg编码H264,再解码显示时,产生马赛克:有时是在画面静止时,静止时间越长,马赛克、伪影越多;有时是在画面切入切出时;有时是在网络带宽不够时 2、原因分析 2.1 丢帧 网络状况差的情况下(带宽不足),容易丢帧,在视频画面播放过程中,若I帧丢失了,…

LINUX内核升级

内核版本是2.6.18&#xff0c;新的内核是2.6.26。 1.下载新内核&#xff0c;下载网站www.kernel.org 2.copy内核到/usr/local/src下 3.解压内核 解压内核命令 tar -xjvf linux-2.6.26.tar.bz2 4.清理以前编译所生成的文件 命令为 make distclean&#xff0c;如果以前没有编…

我在美团的这两年,想和你分享

作者 | 石晓文来源 | 小小挖掘机&#xff08;ID&#xff1a;wAIsjwj&#xff09;012017.08.14&#xff0c;结束了两周的等待&#xff0c;如愿以偿开始了自己的美团实习生活&#xff0c;本来抱着三五个月走人&#xff0c;争取下一份实习的心态&#xff0c;没想到一直到转为暑期实…

【Qt】QtCreator updatePchInfo:switching to none

1、Pch名词解释 Pch(PreCompiled Headers)预编译头文件。 使用方法: CONFIG+=precompile_header PRECOMPILED_HEADER=XXX.h 2、updatePchInfo:switching to none 和QtCreator代码格式化Beautifier插件配置了clang code model有关系。 猜测:clang分析预编译头文件相关,…

学习框架、库的经验

熟悉基础语法把框架的功能过一遍&#xff0c;看看有哪些功能从文档的demo入口去学习上手会更快在你的开发目录要有一个专门写demo的页面&#xff0c;用以调试页面&#xff0c;试验新功能如果框架或者库提供有demo则更好&#xff0c;可以从中得到很多有用的东西

开源应用程序结构

2019独角兽企业重金招聘Python工程师标准>>> 给有兴趣的同学介绍的。这里面介绍了很多著名的开源软件的架构&#xff0c;相信读后会有所收获。 地址&#xff1a;http://www.aosabook.org/en/index.html 转载于:https://my.oschina.net/qinlinwang/blog/71649

免费GPU哪家强?谷歌Kaggle vs. Colab

作者 | Jeff Hale译者 | Monanfei责编 | 夕颜出品 | AI科技大本营&#xff08;id&#xff1a;rgznai100&#xff09;谷歌有两个平台提供免费的云端GPU&#xff1a;Colab和Kaggle&#xff0c; 如果你想深入学习人工智能和深度学习技术&#xff0c;那么这两款GPU将带给你很棒学习…

【SVN】svn“E155017工作副本的参考文件损坏、E200014文件校验和不匹配”的解决方法

1、问题描述 在执行svn提交时报错 svn: E155017: 工作副本的参考文件损坏 svn: E200014: ‘test.cpp’ 的文件校验和不匹配&#xff1a; 期望&#xff1a;xxxx 实际&#xff1a;xxxx 2、解决方法 2.1 拷贝 最好将提交的项目拷贝一份&#xff1b; 2.2 删除 使用svn rm --k…

QT程序启动加载流程简介

1. QT应用程序启动加载流程简介1.1 QWS与QPA启动客户端程序区别1.1.1 QWS(Qt Window System)介绍QWS(Qt Windows System)是QT自行开发的窗口系统&#xff0c;体系结构类似X Windows的C/S结构。QWS Server在物理设备上显示&#xff0c;QWS Client实现界面&#xff0c;两者…

QQ2012 Under Ubuntu

下载地址&#xff1a; QQ2012 Under Ubuntu转载于:https://www.cnblogs.com/ismdeep/archive/2012/08/09/2630067.html

25亿布局大湾区,创新工场的AI下一站

2019年6月5日&#xff0c;创新工场大湾区总部正式开业启动&#xff0c;集“产业投资AI 研究院商业赋能落地”三个功能为一体。当天创新工场还首次分享人工智能工程院成立两年来的成绩单&#xff0c;创新奇智的大湾区布局&#xff0c;并发布大湾区人才战略。创新工场也正式宣布第…

【TX2】TX2开发板系统默认串口有ttyS0(调试口)、ttyTHS1、ttyTHS2、ttyTHS3,通过修改设备树文件,可以新增三个串口

1、简述 TX2开发板系统默认串口有ttyS0&#xff08;调试口&#xff09;、ttyTHS1、ttyTHS2、ttyTHS3&#xff0c;通过修改设备树文件&#xff0c;可以新增三个串口。 2、设备树 设备树中关于串口部分的描述 2.1 基础配置 注意&#xff1a;在这里状态都配置成禁止&#xff…

unix的发展

转载http://blog.51cto.com/1193432/1671058转载于:https://www.cnblogs.com/vwei/p/9588823.html

让你的输入框使用Google云语音输入技术

2019独角兽企业重金招聘Python工程师标准>>> 只需一行代码&#xff0c;你的网站上面输入框&#xff08;input&#xff09;&#xff0c;直接可以在谷歌浏览器&#xff08;chrome&#xff09;上面使用Google的云语音输入技术。 在你的输入框input的HTML属性里面&#…

速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法 | 技术头条

作者 | Daniel Bolya Chong Zhou Fanyi Xiao Yong Jae Lee译者 | 刘畅责编 | Jane出品 | AI科技大本营&#xff08;id&#xff1a;rgznai100&#xff09;【导读】在论文《YOLACT&#xff1a;Real-time Instance Segmentation》中&#xff0c;作者提出了一种简洁的实时实例分割全…