Tag: jvm arguments

XX:+ HeapDumpOnOutOfMemoryError最大文件大小限制

我正在运行带有XX:+HeapDumpOnOutOfMemoryError JVM标志的Java进程,并看到以下输出: java.lang.OutOfMemoryError: Java heap space Dumping heap to /local/disk2/heaps/heapdump.hprof … Dump file is incomplete: file size limit 有办法解决这个问题吗?

如何在JVM中捕获OutOfMemoryError并在捕获时运行脚本?

我有一个程序有时会抛出OOME,我知道JVM选项中有一个标志我可以设置,每当出现某个错误/exception(例如OOME)时它会调用我编写的脚本。 该脚本将为用户提供通知,并将使用不同的参数调用该程序,以便它不会再次获得OOME。 有谁知道如何设置这个标志? 我需要设置什么JVM选项? 我在网上到处看都找不到答案。 请帮帮我! 谢谢,是的

无法在Solaris上初始化类sun.awt.X11GraphicsEnvironment

我在Solaris计算机上运行安装程序时遇到此错误: Installing… ————- [==================|==================|==================|==================] [—Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX) Stack Trace: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81) at sun.awt.X11FontManager.isHeadless(X11FontManager.java:487) at sun.awt.X11FontManager.getFontPath(X11FontManager.java:767) at sun.font.SunFontManager.getPlatformFontPath(SunFontManager.java:3288) at sun.font.SunFontManager$11.run(SunFontManager.java:3314) at java.security.AccessController.doPrivileged(Native Method) at sun.font.SunFontManager.loadFonts(SunFontManager.java:3310) at sun.awt.X11FontManager.loadFonts(X11FontManager.java:439) at sun.font.SunFontManager.findFont2D(SunFontManager.java:2347) at sun.font.SunFontManager.findFont2D(SunFontManager.java:2285) […]

Java -classpath选项

将-classpath选项与java ,添加或替换CLASSPATH env变量的内容?

尽管(Max)MetaspaceSize,Java 8仍为Metaspace保留最小1G

Java 8在启动后为Metaspace预留1G。 这意味着最小元空间大小为1G。 但我将MetaspaceSize设置为300米,MaxMetaspaceSize设置为400米。 为什么Java保留了我允许的更多? Java版本 $ java -version java version “1.8.0_45” Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) VM标志 $ jcmd 21689 VM.flags 21689: -XX:CICompilerCount=3 -XX:ConcGCThreads=1 -XX:G1HeapRegionSize=1048576 -XX:InitialHeapSize=62914560 -XX:+ManagementServer -XX:MarkStackSize=4194304 -XX:MaxHeapSize=1006632960 -XX:MaxMetaspaceSize=399998976 -XX:MaxNewSize=603979776 -XX:MetaspaceSize=299999232 -XX:MinHeapDeltaBytes=1048576 -XX:NativeMemoryTracking=summary -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseG1GC NMT [jetty9-proxy@bm01 bin]$ jcmd 21689 VM.native_memory […]

NewRatio参数不与CMS垃圾收集器一起使用

我为我的应用程序切换到CMS收集器,应用程序的吞吐量减少了一半。 从GC日志中,我发现很少发生轻微的GC(每秒10 per second )。 我已经分配了4G的堆大小。 默认情况下,JVM使用非常小的尺寸(小于40MB )。 我想通过增加年轻人的规模来尝试CMS。 你能指点我正确的JVM参数吗? 我尝试了-XX:NewRatio但是JVM忽略了这个参数,并且年轻的gen大小没有变化 我的java版本是java version “1.6.0_14”

JVM -XX:+ StringCache参数?

我最近在阅读JRE 6 [ Java VM Options ]中可用的所有JVM参数,并看到了这一点: -XX:+ StringCache:启用常用分配字符串的缓存。 现在我总是认为Java保留了一个实习池(正确的单词?)字符串,并且当使用字符串连接时,它不是创建新对象,而是从这个池中拉出它们。 有没有人曾经使用过这个论点,或者可以解释为什么需要它? 编辑:我试图运行一个基准测试,看看这个参数是否有任何影响,并且无法让Sun JVM识别它。 这与: java version “1.6.0_11” Java(TM) SE Runtime Environment (build 1.6.0_11-b03) Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing) 所以我不确定这个论点是否有效。

将整个文件传递给JVM参数

我有几个系统都需要将相同的属性加载到JVM。 我可以使用-D标志一次加载一个属性,但我正在寻找能够一次加载整个文件中的所有属性的东西。 例如: 我可以将–options-file = blah.properties添加到我的网络中的所有jvms上,然后从那时起只更改属性文件,该文件可以是网络共享上的单个中央文件。 谢谢, 编辑:任何参数或命令也必须在Windows环境中工作。 因此,任何特定于unix的bash或脚本黑客都行不通。

将Java控制台应用程序作为守护程序运行(后台)

我开发了一个Java控制台应用程序,在启动时打开一个控制台窗口并保持在前台,我想在后台启动该应用程序。 现在我通过此命令行启动应用程序: java -jar myapp.jar 有没有办法实现这种行为? 它足以改变命令行参数,或者我需要对我的代码进行一些更改?

使用UseConcMarkSweepGC减少JVM暂停时间> 1秒

我在一台具有16Gb RAM,8核处理器和Java 1.6的机器上运行内存密集型应用程序,所有这些都运行在CentOS 5.2版(最终版)上。 精确的JVM详细信息是: java version “1.6.0_10” Java(TM) SE Runtime Environment (build 1.6.0_10-b33) Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode) 我正在使用以下命令行选项启动应用程序: java -XX:+UseConcMarkSweepGC -verbose:gc -server -Xmx10g -Xms10g … 我的应用程序公开了一个JSON-RPC API,我的目标是在25ms内响应请求。 不幸的是,我看到延迟超过1秒,似乎是垃圾收集造成的。 以下是一些较长的例子: [GC 4592788K->4462162K(10468736K), 1.3606660 secs] [GC 5881547K->5768559K(10468736K), 1.2559860 secs] [GC 6045823K->5914115K(10468736K), 1.3250050 secs] 这些垃圾收集事件中的每一个都伴随着延迟的API响应,其持续时间与所示的垃圾收集的长度非常相似(在几毫秒内)。 以下是一些典型示例(这些示例均在几秒钟内生成): [GC 3373764K->3336654K(10468736K), 0.6677560 secs] [GC 3472974K->3427592K(10468736K), […]