• cmd下
  • eclipse下
  • tomcat下

cmd下指定jvm参数

在cmd下执行Java程序可以通过如下方式之地需要配置的Java 虚拟机参数:

这里只是指定了对初始为2M,新生代为1M,堆最大值为2M
java -Xms2m -Xmn1m -Xmx2m YourClassName

eclipse下指定jvm参数

windows->Perfences->Java->Installed JRES->选定目标jre->Edit->在Defaut VM arguments里面填写虚拟机参数,

注意以空格分开各个参数。

tomcat指定jvm参数01

# 摘自catalina.bat
rem CATALINA_OPTS (Optional) Java runtime options used when the "start",
rem "run" or "debug" command is executed.
rem Include here and not in JAVA_OPTS all options, that should
rem only be used by Tomcat itself, not by the stop process,
rem the version command etc.
rem Examples are heap size, GC logging, JMX ports etc.
#CATALINA_OPTS(可选)Java运行时选项用于“启动”, 执行“运行”或“调试”命令。
#包括在这里,而不是JAVA_OPTS中的所有选项,那应该是只能由Tomcat本身使用,
#而不是通过停止进程,版本命令等示例是堆大小,GC日志记录,JMX端口等
...
rem JAVA_OPTS (Optional) Java runtime options used when any command
rem is executed.
rem Include here and not in CATALINA_OPTS all options, that
rem should be used by Tomcat and also by the stop process,
rem the version command etc.
rem Most options should go into CATALINA_OPTS. #JAVA_OPTS(可选)执行任何命令时使用的Java运行时选项。
#在CATALINA_OPTS中不包含CATALINA_OPTS中的所有选项,Tomcat应该使用,
#还有停止进程,版本命令等都使用Java运行时选项。多数选项应该进入CATALINA_OPTS。

上面摘自catalina.bat,按照注释来说设置CATALINA_OPTS比设置JAVA_OPTS更好一点不是吗?

同样的设置方式是这样的:

# 后面的关于永久代的设置其实只是对部分jdk1.7版本和稍前的一点版本有效,
#在jdk1.8永久代就已经没有了
CATALINA_OPTS -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m

tomcat指定jvm参数02

通常tomcat在windows下还会以windwos服务的形式运行,那么就需要到注册表里面取修改jvm的运行参数了:

win+r -> regedit -> 编辑 -> 查找 ,关键字是,“Apache Software Foundation”,找到之后

在Options里面增加对应的参数就好了,还是空格分隔参数:


大致上就这么多了。


下面是tomcat常见的jvm内存溢出:

  • java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出
  • java.lang.OutOfMemoryError: PermGen space ---- PermGen space溢出。
  • java.lang.StackOverflowError ---- 栈溢出

一般而言,栈溢出都是程序本身又问题;

至于永久代溢出(PermGen space溢出)可以手动设置MaxPermSize大小,想这样 “ -XX:MaxPermSize=”;

至于堆溢出,可以调整-Xmn -Xms -Xmx这三个值,当然也可以设置一下它们之间的比值;

新生代(eden+from+to)和老年代(不包含永久区)的比值:-XX:NewRatio

例如我们设置参数:-Xmx20m -Xms20m -XX:NewRatio=4 (注意这里改参数为4表示新生代和老年代比值为1:4)


Java虚拟机05.1(各种环境下jvm的参数如何调整?)的更多相关文章

  1. Java虚拟机(四):常用JVM配置参数

    一.VM选项 - : 标准VM选项,VM规范的选项 -X: 非标准VM选项,不保证所有VM支持 -XX: 高级选项,高级特性,但属于不稳定的选项 参见Java HotSpot VM Options 二 ...

  2. Java虚拟机笔记(五):JVM中对象的分代

    为什么要分代 为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用, ...

  3. java 在centos6.5+eclipse环境下调用opencv实现sift算法

    java 在centos6.5+eclipse环境下调用opencv实现sift算法,代码如下: import org.opencv.core.Core; import org.opencv.core ...

  4. RAC 环境下的重要参数

    Oracle 数据库启动时会根据参数文件中提供的相关参数启动Oracle实例.这些参数包括数据库名字.sga,pga的分配,控制文件的位置,undo,process等等.Oracle RAC数据库同样 ...

  5. 深入理解JAVA虚拟机(内存模型+GC算法+JVM调优)

    目录 1.Java虚拟机内存模型 1.1 程序计数器 1.2 Java虚拟机栈 局部变量 1.3 本地方法栈 1.4 Java堆 1.5 方法区(永久区.元空间) 附图 2.JVM内存分配参数 2.1 ...

  6. Java虚拟机详解(五)------JVM参数(持续更新)

    JVM参数有很多,其实我们直接使用默认的JVM参数,不去修改都可以满足大多数情况.但是如果你想在有限的硬件资源下,部署的系统达到最大的运行效率,那么进行相关的JVM参数设置是必不可少的.下面我们就来对 ...

  7. java中HashMap在多线程环境下引起CPU100%的问题解决(转)

    最近项目中出现了Tomcat占用CPU100%的情况,原以为是代码中出现死循环,后台使用jstack做了dump,发现是系统中不合理使用HashMap导致出现了死循环(注意不是死锁). 产生这个死循环 ...

  8. java中HashMap在多线程环境下引起CPU100%的问题解决

    最近项目中出现了Tomcat占用CPU100%的情况,原以为是代码中出现死循环,后台使用jstack做了dump,发现是系统中不合理使用HashMap导致出现了死循环(注意不是死锁). 产生这个死循环 ...

  9. 深入理解java虚拟机学习笔记(一)JVM内存模型

    上周末搬家后,家里的宽带一直没弄好,跟电信客服反映了N遍了终于约了个师傅明天早上来迁移宽带,可以结束一个多星期没网的痛苦日子了.这段时间也是各种忙,都一个星期没更新博客了,再不写之前那种状态和激情都要 ...

随机推荐

  1. 爬虫(十四):Scrapy框架(一) 初识Scrapy、第一个案例

    1. Scrapy框架 Scrapy功能非常强大,爬取效率高,相关扩展组件多,可配置和可扩展程度非常高,它几乎可以应对所有反爬网站,是目前Python中使用最广泛的爬虫框架. 1.1 Scrapy介绍 ...

  2. Atom离线插件安装

    1.下载原始的插件包 2.解压放入atom的packages文件夹中 3.通过nodejs的npm指令进行安装 运行->cmd 4.重启atom就好了.

  3. RESTful风格化

    RESTful Web Service介绍 Roy Thomas Fielding博士2000年提出的 REST是英文Representational State Transfer的缩写 表象化状态转 ...

  4. 使用gitthub 创建项目搭建博客

    最近在学Andrew Ng 的机器学习,做了上买那个的练习题和变成作业,想着把自己做的编程作业放到GitHub,方便讨论,虽然之前注册了GitHub,但这两年整天在毕设方向的事,做的身心俱疲,再加上自 ...

  5. Xftp和Xshell

    Xftp 用于跟云虚拟机文件传输的工具,Xftp官网 Xshell Xftp的兄弟工具,用于执行云虚拟机命令,Xshell官网 两个都是付费工具,各需要几百块钱,当然破解的版本也很多 登陆 这两个的连 ...

  6. mysql学习指令

    mysql 用户管理和权限设置 参考文章:http://www.cnblogs.com/fslnet/p/3143344.html Mysql命令大全 参考文章: http://www.cnblogs ...

  7. Abstract Data Type

  8. 【剑指Offer面试编程题】题目1391:顺时针打印矩阵--九度OJ

    题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2 ...

  9. 十六、myeclipse导入别人项目报错java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServle异常

    问题原因:java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServle异常    我是把别人的源码项目直接导 ...

  10. windows远程桌面不显示本地磁盘

    \\tsclient\D 在资源管理器输入上面的内容就可以访问本地的D盘,但是前提是连接远程桌面的时候设置了可以访问本地D盘.