tomcat 配置jdk

tomcat 配置jdk

00:00
06:02

tomcat 配置指定jdk


我们使用tomcat时需要使用JDK环境变量,如果环境中配置了jdk可以直接使用。
   有时服务器又多个jdk版本,或者说我们没有权限配置jdk环境变量。
   我们也可以通过修改tomcat的配置文件,指定tomcat运行时所依赖jdk的路径,不需要再去配置环境变量。只要解压一个jdk就OK了。


windows系统里:
1、解压下载的tomcat;
2、找到bin下的catalina.bat文件;在文件的开始出添加如下代码:
set JAVA_HOME=D:\jdk\jdk1.8.0_31
set JRE_HOME=D:\jdk\jdk1.8.0_31\jre
上面的意思是设定JAVA_HOME和JRE_HOME的路径;

linux
在bin下找到catalina.sh,在文件的最开始加入如下代码:
export  JAVA_HOME=/home/jdk/Java\jdk7\jdk1.7.0_51
export  JRE_HOME=/home/jdk/Java\jdk7\jre7

这样就指定了jdk  jre的路径,配置了java的运行环境,是不是很简单呢?
除此之外还有一切jre的参数可以配置,他的参数配置在JAVA_OPTS后面
举个例子,还是在刚才说的catalina.sh配置文件上面,我们应该看到过
   export JAVA_OPTS="-server -Xms1400M -Xmx1400M -Xss512k ";  这句话是什么意思呢?    这里面可以指定堆栈的大小,垃圾回收等信息
-Xms300m      是指设定程序启动时占用内存大小。
-Xmx300m      是指设定程序运行期间最大可占用的内存大小。如果程序运行需要占用更多的内存,
               超出了这个设置值,就会抛出OutOfMemory异常。

-Xss         是指设定每个线程的堆栈大小。
-Xmn2G     设置年轻代大小为2G。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。JDK8-废弃永久代(PermGen)迎来元空间(Metaspace)

以上四个参数的设置都是默认以Byte为单位的,也可以在数字后面添加k,M,G 
而且,超过机器本身的内存大小也是不可以的,否则就等着机器变慢而不是程序变慢了。

-XX:New Ratio:设置年轻代(包括Eden和两个Survivor区)与
          年老代的比值(除去持久代).如果设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5

-XX:Survivor Ratio=8        Eden区与Survivor区的大小比值,设置为8,则两个Survivor区与一个Eden区的比值为2:8,
一个Survivor区占整个年轻代的1/10

当年轻代内存满时,会引发一次普通GC,该GC仅回收年轻代。需要强调的时,年轻代满是指Eden代满,Survivor满不会引发GC

记上就是常用配置,jvm的配置参数很多,大家有空也可以自己去查阅虚拟机相关的资料,所以只能调选几个说下。

-XX:+Print GCDetails                  打印GC详细信息
-XX:+PrintGC TimeStamps                打印CG发生的时间戳

-XX:+Heap Dump OnOutOfMemoryError        OOM时导出堆到文件   Out Of Memory
-XX:Heap DumpPath=d:/a.dump            导出OOM的路径      Out Of Memory

-XX:+Print HeapAtGC                   每一次GC前和GC后,都打印堆信息
-XX:+Trace ClassLoading                 监控类的加载 可以打印类的加载顺序
-XX:+PrintClass Histogram              按下Ctrl+Break后,打印类的信息

-XX:+DisableExplicit GC          禁止在启动期间显式调用System.gc()

-XX:Parallel GC Threads=8      设置垃圾收集器在并行阶段使用的线程数[一般设置为本机CPU线程数相等,即本机同时可以处理的个数,
                             设置过大也没有用]并发垃圾收集器使用的线程数量
   
   
   





























以上内容来自专辑
用户评论
  • 杨妮_找寻走失的灵魂

    大佬好