jvm-arguments相关内容
这可能是一个愚蠢的问题: 我目前有一些我的Web应用程序需要的VM参数。它们类似于: -Dcom.company.custom.var ='test' 我在代码中访问它们: System.getProperty(“com.company.custom.config”) 我想搬家他们进入了一个tomcat xml文件(server.xml,co
..
我开始在 java 命令上使用 -Xmx 选项,以允许我的进程使用一点点更多的内存(256Mb,虽然我认为我目前使用的内存不到128Mb)。我还注意到启动内存的 -Xms 选项,默认值为2Mb。我该怎么设置这个值以及为什么?
..
在运行java应用程序时,我得到以下内存转储。 安装java 8之后(java 7应用程序之前正在运行)我开始收到以下错误。 我正在使用16 GB RAM,当我检查时(在应用程序启动时)在任务管理器中,大约6 GB RAM是免费的。 有人可以帮助解决可能出现的问题吗? # #There内存不足以使Java Runtime Environment继续运行。 #本机内存分配(
..
可能重复: 是否可以动态更改最大Java堆大小? 我知道Java启动器有一个XMX选项,但是有某种预处理指令可以做到这一点(所以运行我的代码的所有计算机都会增加它们的堆) 。 就像现在一样,java.exe只能达到~280MB最大值(在它崩溃之前) - 这是正常的吗? 解决方案 “启动具有更多内存的新进程”可以在代码中完成吗? 是的。请参阅此简单示例。
..
我在Sun的JDK 1.4.2_18上运行的应用程序中调试内存泄漏。看来这个版本支持命令行参数-XX:+ HeapDumpOnCtrlBreak,它可能导致JVM在遇到控制中断时转储堆。如何将其发送到Linux机器上的后台进程?似乎杀死信号是应该工作的方式,但我杀了-l不会报告任何显然是Ctrl-Break的事情,至少在我的Ubuntu盒子上。 更新:我测试了使用Sun JDK 1.4.2_
..
JVM规范表示JVM堆栈可以是固定大小,也可以是动态可扩展的。 -Xss JVM选项允许设置固定大小,如果我没有设置这个选项是设置默认值(大约512-2048k),但是如何告诉JVM在需要时动态分配其堆栈? 如果我无法设置动态大小选项,设置一个大的-Xss值(假设20M)实际上为我的JVM中的每个线程分配了20MB的内存,还是动态分配的内存将限制为20MB? 解决方案 最大堆栈
..
我见过 JVM选项-Xss - 它究竟做了什么?这个链接,但我的问题是这个选项是如何有用的。 因为,如果我们为-Xss值设置了一个非常小的限制,那么线程可能无法正常工作,因为它可能会在大多数情况下抛出stackOverflow错误。 为什么至少对于这个值有 64k 限制? 我如何得到这个64k限制是当我我试图在IntelliJ iDE上配置运行时vm选项,我试图给出一些像10k这
..
我有一个使用JVM ARGS的Java 7应用程序: -Xms1024m -Xmx2048m ,它运行得很好。 升级到Java 8后,它以异常运行错误状态: 线程“main”java.lang中的异常.OutOfMemoryError:org.hibernate.engine.StatefulPersistenceContext.addEntry(StatefulPersistence
..
假设我们的代码有2个线程(A和B)在某个地方引用了这个类的同一个实例: public class MyValueHolder { private int value = 1; // ... getter and setter } 当线程A执行 myValueHolder.setValue(7)时,无法保证线程B将读取该值: myValueHolder.
..
我的应用启动时经常调用一个性能关键的方法。最终,它得到了JIT编译,但是在解释器中运行了一些明显的时间后没有。 有什么方法可以告诉JVM我想要编译这个方法从一开始就没有用 -XX:CompileThreshold 之类的内容调整其他内部结构? 解决方案 我知道的唯一方法是 -Xcomp 标志,但通常不建议使用。它会在第一次运行时强制立即对所有类和方法进行JIT编译。缺点是您将在初始启
..
默认JVM参数不适合运行大型应用程序。来自在真实应用程序上进行调整的人的任何见解都会有所帮助。我们在使用客户端JVM的32位Windows机器上运行应用程序默认情况下。我们添加了-server并将NewRatio更改为1:3(年轻一代更大)。 您尝试过哪些其他参数/调整有用吗? [更新]我正在谈论的特定应用程序类型是很少关闭的服务器应用程序,至少需要-Xmx1024m。还假设已经分
..
它们是年轻一代垃圾收集的算法。 第二个(UseParNewGC)使用并发的tenured generation垃圾回收自动激活(参见 Java并发和并行GC )但是,两个并行算法之间有区别吗? 解决方案 经过大量搜索后,我发现的最佳解释是来自Java性能调优网站月份问题:1.4.1垃圾收集算法,2003年1月29日 年轻代垃圾收集算法 (原始)复制收集器(默认启用)。当这
..
我们都知道Java的整数(以及其他一些类型)的缓存数量范围 [ - 128,127] 被认为是“常用”。 缓存的设计如下: 私有静态类IntegerCache { static final int low = -128; static final int high; static final Integer cache []; static { //高值可以通过属性
..
我有一个程序有时会抛出OOME, 我明白JVM选项中有一个标志我可以设置,每当出现某个错误/异常时(如OOME)它会调用我编写的脚本。 该脚本将向用户发出通知,并将使用不同的参数调用该程序,以便它不会再次获得OOME。 有谁知道如何设置这个标志?我需要设置什么JVM选项? 我在网上到处看都找不到答案。 请帮帮我! 谢谢, Aye 解决方案 -XX:OnOutOfMem
..
我在Solaris计算机上运行安装程序时遇到此错误: 正在安装... ------------- [================== | ========= ========= | ================== | ==================] [---调用此Java应用程序导致InvocationTargetException。此应用程序现在将退出。
..
您能帮我解决以下问题: 背景: 问题描述: 启动Jetty服务器后,java进程的初始(RES)内存使用量约为5.5g。在运行应用程序一段时间之后,内存使用会慢慢启动并消耗机器上最大可用物理内存(8g),最终导致服务器/系统崩溃。 此问题只在linux环境中遇到。在Windows环境中没有发现此类问题。 Profiler调查结果: 监控具有 VisualVM 和
..
我正在查看运行Alfresco的JVM配置选项,主要是这个文件在 Alfresco Wiki 。其中一个建议是使用JVM标志 -Xcomp 和 -Xbatch 。这样做的理由是: 如果您希望Hotspot预编译类,可以添加[-Xcomp和-Xbatch]。但是,这会显着增加服务器启动时间,但会突出显示以后可能会遇到的缺失依赖项。 从我拥有的史蒂夫·戈德曼的博客你指出: 因此-Xb
..
我正在使用 XX:+ HeapDumpOnOutOfMemoryError JVM标志运行Java进程并看到以下输出: java.lang.OutOfMemoryError:Java堆空间 将堆转储到/local/disk2/heaps/heapdump.hprof ... 转储文件不完整:文件大小限制 有没有办法解决这个问题? 解决方案 -XX:+ Heap
..
我最近在阅读JRE 6中提供的所有JVM参数[ Java VM选项]并看到了这个: -XX:+ StringCache:启用常用分配字符串的缓存。 现在我总是认为Java保留了一个实习池(正确的单词?)字符串,并且在执行类似字符串串联的文章时,它不是创建新对象,但从这个池中拉出它们。有没有人曾经使用过这个论点,或者可以解释为什么需要它? 编辑:我试图运行一个基准测试,看看是否这个
..
我有几个系统都需要将相同的属性加载到JVM。我可以使用-D标志一次加载一个属性,但我正在寻找能够一次加载整个文件中的所有属性的东西。例如: 我可以将--options-file = blah.properties添加到我网络上的所有jvms,一次,然后从此只更改属性文件,这可能是网络共享上的单个中心文件。 谢谢, 编辑:任何参数或命令也必须在Windows环境中工作。因此,任何特
..