Tag: jvm arguments

动态可扩展的JVM堆栈

JVM规范表明JVM堆栈可以是固定大小,也可以是动态可扩展的。 -Xss JVM选项允许设置固定大小,如果我没有设置此选项是设置默认值(大约512-2048k),但是如何告诉JVM在需要时动态分配其堆栈? 如果我不能设置动态大小选项,设置一个大的-Xss值(假设20M)实际上为我的JVM中的每个线程分配20MB的内存,还是动态分配的内存将限制为20MB?

Java虚拟机堆大小格式作为内存百分比

我在我的应用程序服务器上安装了一个IDBS Spreadsheet服务器,发现它有一个我不熟悉的JVM堆大小的格式。 该文档提到xmx或最大堆大小设置为系统内存的75%。 ini文件中的格式是这样的 -Xms50:1024:1536P -Xmx75:1536P 我在搜索文档时从未见过这种格式。 我可以猜测75表示75%,也许P表示百分比而不是通常的G表示千兆字节而M表示兆字节,但我不确定1536的含义或如何读取xms 3数值。

Gradle不尊重JDK9中的–add-modules jvm参数

我正在尝试JDK9(9-ea + 143),并且需要设置–add-modules java.xml.bind 。 我试过了: 设置GRADLE_OPTS=”–add-modules java.xml.bind ‘-Dorg.gradle.jvmargs=–add-modules java.xml.bind'” 设置org.gradle.jvmargs=–add-modules java.xml.bind在gradle.properties中org.gradle.jvmargs=–add-modules java.xml.bind 。 将test { jvmArgs ‘–add-modules java.xml.bind’ }到build.gradle 将tasks.withType(Test) { jvmArgs ‘–add-modules java.xml.bind’ }到build.gradle 将tasks.withType(JavaExec) { jvmArgs ‘–add-modules java.xml.bind’ }到build.gradle 测试仍然失败。 我错过了什么? 我在https://github.com/henrik242/gradle-jdk9-test-problem中有一个示例项目 ✨ ./gradlew build :compileJava /foo/gradle-jdk9-test-problem/src/main/java/SomeClass.java:1: error: package javax.xml.bind does not exist import javax.xml.bind.ValidationException; ^ /foo/gradle-jdk9-test-problem/src/main/java/SomeClass.java:5: error: cannot find symbol public […]

从Java 6 + Tomcat 6升级到Java 8 + Tomcat 8时的垃圾收集器使用情况

我们正在从Java 6和Tomcat 6升级到Java 1.8.0_45和Tomcat 8.0.23,Linux服务器,64位。 我正在比较内存使用情况,而我正面临一种奇怪的行为。 这就是Eden Space在Tomcat 8中使用Java 8的方式,没有流量,只是启动和空闲: 这就是Java 6的标准,对我来说是标准的: 两个JVM的配置方式基本相同,基本上: XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+DisableExplicitGC -Xms768m -Xmx2048m -Xmn400m 使用Java 8和Tomcat 8,小型GC几乎总是在运行,而tomcat日志显示如下: 1301,121: [GC (Allocation Failure) [PSYoungGen: 408960K->352K(409088K)] 1126151K->717559K(1915392K), 0,0093033 secs] [Times: user=0,02 sys=0,00, real=0,01 secs] 您是否知道JVM 8的一些特殊配置或我必须做的事情才能拥有与之前相同的行为? 编辑: 30分钟后,伊甸园空间是:

强制jvm返回本机内存

我不时在需要大量内存的eclipse任务中运行。 所以jvm在任务运行时吞下大约2-3GB的RAM,没关系。 但是一旦jvm占用了那个内存它就不会释放它而且我有一种情况,当堆中使用的内存大约为200mb,总堆大小约为3gb时,这实际上是不需要的,因为其他程序正在寻找内存。 我尝试了Max/MinHeapFreeRatio参数来强制jvm减少未使用内存的消耗。 那是我的eclipse config.ini文件: -startup plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar –launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502 -vm c:/Program Files/Java/jdk1.6.0_26/bin/javaw.exe -showlocation -product org.eclipse.epp.package.jee.product –launcher.defaultAction openFile –launcher.XXMaxPermSize 256M -showsplash org.eclipse.platform –launcher.XXMaxPermSize 256m –launcher.defaultAction openFile -vmargs -Duser.name=Michael Nesterenko -Dosgi.requiredJavaVersion=1.5 -Xms512m -Xmx4096m -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=30 但这没有用,我仍然有很多未使用的内存。

如何使用Gradle添加默认JVM参数

当使用Gradle构建时,我需要向我的jar添加默认的JVM选项。 从我得到的文档中我必须设置: applicationDefaultJvmArgs = [“-Djavafx.embed.singleThread=true”] 我没有太多使用Gradle的经验,编写build.gradle文件的开发人员写的不同于大多数网站提供的示例。 这是build.gradle: apply plugin: ‘java’ apply plugin: ‘eclipse’ version = ‘0.1’ repositories { mavenCentral() } dependencies { testCompile group: ‘junit’, name: ‘junit’, version: ‘4.+’ compile ‘placeholder’ } task release(type: Jar) { manifest { attributes(“Implementation-Title”: “placeholder”, “Implementation-Version”: version, ‘Main-Class’: ‘placeholder.Application’) } from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } […]

-Djava.library.path中的多个目录

我如何在eclipse项目中指向两个不同的java.library.path – 运行配置? 我需要这两个库: -Djava.library.path=/opt/hdf-java/build/bin -Djava.library.path=/opt/opencv-2.4.10/build/lib 问候。

无法识别的VM选项’+ HeapDumpOnCtrlBreak’

我正在使用Jboss,我在JAVA_OPTS中添加了-XX:+HeapDumpOnCtrlBreak选项。 但是我在启动Jboss时遇到了错误: Unrecognized VM option ‘+HeapDumpOnCtrlBreak’ Could not create the Java virtual machine. 我在网上搜索过,似乎JDK 6不支持这个选项,所以我改为jdk1.5.0_09但仍然出现了这个错误。 有谁知道什么是错的?

如何为runnable jar添加jvm参数?

对于我正在创建的可运行的jar。 它需要xmx1024作为JVM参数。 我怎样才能做到这一点 ? 或者有其他选择吗?

HTTPS nonProxyHosts的JVM参数

所以我为_JAVA_OPTIONS提供了一个相当负载的env变量 export _JAVA_OPTIONS=”-Dhttp.proxyHost=my-proxy.com -Dhttp.proxyPort=1080 -Dhttps.proxyHost=my-proxy.com -Dhttps.proxyPort=1080 -DsocksProxyHost=my-socks-proxy.com -Dhttp.nonProxyHosts=\”localhost|127.0.0.1|*.local|*.my-co.com\”” 但是当我使用Apache HTTP客户端API从Scala代码尝试时,我无法忽略内部服务器URL。 https://username:pwd@server.my-co.com/foo/bar 我是否需要为HTTPS指定不同的nonProxyHosts ? 文档没有指定这样的参数。 我错过了什么? 我在Mac上。