`
dyllove98
  • 浏览: 1406043 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:39088
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:80118
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:133200
社区版块
存档分类
最新评论

谈JAVA_OPTS环境变量不起作用

 
阅读更多

个人博客已经迁移到如下网站 萌萌的IT人, 后续所有的文章都会在此发布

 

 

----------------------------------------------------------------------------------

最近在处理运行一个java应用时,老是出现java.lang.OutOfMemoryError: Java heap space.即时我在环境变量里设置了JAVA_OPTS -Xmx2048m还是报错。 

javaeye上搜索了一番,发现很多人都有这个疑问。经过Team Leader的指导,发现: 

1、JAVA_OPTS只对tomcat/weblogic等Web服务器中间件有效,以“java -cp [*.jar] test.Main”方式运行的不会去读取JAVA_OPTS. 

2、如果在运行java类,需要设置Heap Size的话,需要如下方式: 
java -Xmx2048m -jar test.jar 
或者java -Xmx1024m -cp douglas.jar com.douglas.Main 
3、如果是在Unix或者Aix服务器上,可以直接写下如下语句 
export JAVA_OPTS=-Xmx1024m -Djava.awt.headless=true 
java $JAVA_OPTS -cp douglas.jar com.douglas.Main 
或者vi test.sh文件,写下: 
#!/bin/sh 
classpath=./douglas.jar 
/usr/java5/bin/java -Xmx1024M -cp $classpath com.douglas.Main 
4、对于非Java语言(C++)调用Java代码,最好的方式是提供给操作员设置的页面,在申明JavaVM时,将JavaOPTS数值放置至JavaVM中。 

对于JVM设置,可以查考如下配置example: 
# Memory configuration 
JAVA_OPTS="-server" 
JAVA_OPTS="$JAVA_OPTS -Xms1280m" 
JAVA_OPTS="$JAVA_OPTS -Xmx1280m" 
JAVA_OPTS="$JAVA_OPTS -XX:NewSize=640m" 
JAVA_OPTS="$JAVA_OPTS -XX:MaxNewSize=640m" 
JAVA_OPTS="$JAVA_OPTS -XX:SurvivorRatio=5" 
JAVA_OPTS="$JAVA_OPTS -XX:TargetSurvivorRatio=90" 
JAVA_OPTS="$JAVA_OPTS -XX:MaxTenuringThreshold=12" 
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC" 
JAVA_OPTS="$JAVA_OPTS -XX:+CMSIncrementalMode" 
JAVA_OPTS="$JAVA_OPTS -XX:+CMSIncrementalPacing" 
JAVA_OPTS="$JAVA_OPTS -XX:+CMSParallelRemarkEnabled" 
JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC" 
JAVA_OPTS="$JAVA_OPTS -XX:PermSize=64m" 
JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=64m" 
JAVA_OPTS="$JAVA_OPTS -XX:+UseTLAB" 

# Enable class unloading (needed with ConcMarkSweepGC 
JAVA_OPTS="$JAVA_OPTS -XX:+CMSClassUnloadingEnabled" 
JAVA_OPTS="$JAVA_OPTS -XX:+CMSPermGenSweepingEnabled" 

# debug and memory tweaks to avoid Hotspot Compiler Failure 
JAVA_OPTS="$JAVA_OPTS -XX:+PrintCompilation" 
JAVA_OPTS="$JAVA_OPTS -XX:CodeCacheMinimumFreeSpace=2M" 
JAVA_OPTS="$JAVA_OPTS -XX:ReservedCodeCacheSize=64M" 
JAVA_OPTS="$JAVA_OPTS -XX:CompileCommandFile=/my/portal/bin/hotspot_compiler" 

# Enable JMX Remote Monitoring 
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote" 
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9000" 
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false" 
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.password.file=/my/portal/bin/jmxremote.password" 
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.access.file=/my/portal/bin/jmxremote.access" 

# turn on some debug for GC only print the distribution when doing tuning 
JAVA_OPTS="$JAVA_OPTS -verbose:gc" 
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCTimeStamps" 
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails" 
#JAVA_OPTS="$JAVA_OPTS -XX:+PrintTenuringDistribution" 
JAVA_OPTS="$JAVA_OPTS -Xloggc:/my/portal/logs/portal/gc.log" 

# Enable remote debugging port 
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

分享到:
评论

相关推荐

    java JAVA_OPTS javaagent

    标题中的"java JAVA_OPTS javaagent"涉及到Java应用程序的启动参数设置,特别是`JAVA_OPTS`环境变量和`javaagent`选项,这两个是Java虚拟机(JVM)启动时的关键配置项。`JAVA_OPTS`通常用于传递额外的JVM参数,如...

    JAVA-OPTS参数设置.docx

    JAVA-OPTS 是一个变量,用于设置 JVM 相关运行参数。JVM 是 Java Virtual Machine 的缩写,表示 Java 虚拟机。JAVA-OPTS 变量的设置对 Java 应用程序的性能和稳定性具有重要影响。 在设置 JAVA-OPTS 变量时,需要...

    Java环境配置与设置JAVA_HOME_CLASSPATH_PATH的目的

    但是,我们不建议在初学 Java 时设置 CLASSPATH 环境变量,因为它可以根据需要动态地设置。 三、PATH 环境变量 PATH 环境变量是操作系统的环境变量,它的设置内容是可执行文件的路径。例如,PATH=...;%JAVA_HOME%\...

    JAVA_SET_enviroment

    标题“JAVA_SET_enviroment”暗示了我们讨论的主题与设置Java开发环境有关,特别是关于配置Java环境变量的步骤。在编程领域,尤其是Java开发中,正确地设置环境变量是至关重要的,因为它们指定了系统如何找到并执行...

    jdk 环境变量 JAVA_HOME 批处理文件 双击搞定

    jdk 环境变量 JAVA_HOME 批处理文件 双击搞定 最多只需修改个JAVA-HOME,其他的classpath path之类的bat文件搞定

    tomcat源码分析

    `Catalina.bat` 是Tomcat在Windows环境下启动的批处理文件,主要负责设置环境变量、执行Java虚拟机(JVM)并加载Tomcat的核心类。解析这个脚本有助于理解Tomcat的启动过程,包括如何设置系统路径、JVM参数以及初始...

    JDK+Tmocat_for_linux的环境搭建.doc

    本文将详细介绍如何在Linux上安装JDK 1.6.0_01和Tomcat 6.0.16,以及配置相应的环境变量。 首先,我们需要准备两个源码包: 1. JDK:jdk-1.6.0_01-linux-i586.bin 2. Tomcat:apache-tomcat-6.0.16.tar.gz **JDK的...

    java工具的环境变量

    本文将深入讲解Java所需的环境变量及其配置方法,包括一些可能不为人知的细节。 首先,我们需要了解三个主要的环境变量:`JAVA_HOME`, `PATH`, 和 `CLASSPATH`。 1. **JAVA_HOME**: 这个变量指定了JDK的安装目录...

    java环境变量

    - 可以将其添加到 `JAVA_OPTS` 环境变量中,以便在启动Java应用程序时自动加载。 #### 总结 综上所述,`JAVA_HOME`、`Path` 和 `classpath` 是Java环境中三个至关重要的环境变量。它们分别负责指示JDK的位置、使...

    java常用环境变量

    这个环境变量指定了特定软件的配置根目录,对于某些特定的应用程序来说很重要,但并不是Java开发所必需的。 **示例值:** `%SystemRoot%\ConfigSetRoot` #### 8. NUMBER_OF_PROCESSORS 该环境变量表示系统的处理器...

    Ubantu tomocat启动报错 no opencv_java249 in java.library.path问题解决方案压缩包

    首先,检查`JAVA_LIBRARY_PATH`环境变量,确保它包含了OpenCV库的路径。在终端中输入`echo $JAVA_LIBRARY_PATH`查看当前设置。如果没有包含OpenCV库的位置,需要将其添加进去。 3. **安装OpenCV**: 在Ubuntu上,...

    jdk1.8.0_171-linux-x64

    oracle官方下载,本jdk是linux版,下载后配置环境变量后可直接使用 环境变量配置 1、打开配置文件: # sudo vim /etc/profile 2、 在配置文件中写入环境变量配置,保存之后关闭: #set java environment ...

    Fedora Linux中配置JDK5或JDK6环境变量

    在Fedora Linux操作系统中,配置Java Development Kit (JDK) 的环境变量对于开发和运行Java应用程序至关重要。这里我们将详细介绍如何为JDK5或JDK6配置环境变量,以确保系统能够正确识别并使用这些版本的Java。 ...

    tomcat内存配置

    `JAVA_OPTS`环境变量用于定义启动Tomcat时传递给Java虚拟机(JVM)的一系列选项。这些选项可以包括但不限于内存大小、垃圾回收策略等。 #### `-Xms64m` 该参数指定了JVM启动时分配给堆内存的初始大小为64MB。初始堆...

    Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量)

    首先,我们来看看环境变量的作用。在Windows系统中,环境变量是操作系统用来指定系统运行环境的一些参数,包括系统路径、临时文件目录等。对于Tomcat而言,最核心的环境变量就是CATALINA_HOME。CATALINA_HOME的作用...

    java开发中 各种环境变量的配置

    ### Java开发中各种环境变量的配置 #### 一、引言 在Java开发环境中,正确配置环境变量对于确保开发流程的顺利进行至关重要。环境变量能够帮助操作系统定位到所需的Java资源和工具,从而使得开发者能够在任意目录下...

    jdk1.6环境变量配置

    - **配置 JAVA_OPTS**:通过设置 JAVA_OPTS 环境变量,可以在启动 Java 应用时传递参数,例如设置 JVM 内存大小。 - **调整 JVM 参数**:可以通过修改 `%JAVA_HOME%\bin\java.exe` 的启动脚本来调整 JVM 的启动参数...

    tomcat6.0 修改启动内存设置 java jvm参数配置

    1. **通过环境变量设置**: 在 `catalina.bat` 文件前添加以下内容: ```bat set JAVA_OPTS=-Xms128m -Xmx350m ``` 重启 Tomcat 服务后,这些设置将生效。 2. **通过注册表设置**: 修改注册表键 `HKEY_LOCAL...

    jdk环境变量总结

    **Java Development Kit (JDK) 环境变量详解** 在Java编程中,JDK环境变量的正确配置是运行和开发Java程序的基础。这些环境变量指示操作系统如何找到Java的安装位置,以及如何执行相关的Java工具。以下是几个关键的...

    java.lang.OutOfMemoryError: Java heap space 解决方法

    - 在Linux系统下,可以通过编辑`{tomcat_home}/bin/catalina.sh`文件,同样修改`JAVA_OPTS`环境变量。示例命令如下: ``` JAVA_OPTS="-Xms64m -Xmx512m" ``` 或者在脚本中使用`set`命令直接设置: ``` set ...

Global site tag (gtag.js) - Google Analytics