CentOS 7

CentOS7下的各种应用


Tomcat常见使用集合

<p>目录: 1.tomcat配置指定使用jdk1.8和路径 2.tomcat调优之 OutOfMemoryError</p> <h3>1、tomcat配置指定使用jdk1.8和路径:</h3> <p>打开 tomcat/bin 目录下的 <strong>catalina.sh</strong> 和 <strong>setclasspath.sh</strong> ,在文件开头加入export JAVA_HOME=...和export JRE_HOME=...指定你要使用版本的JDK和JRE所在位置。 </p> <pre><code class="language-bash">export JAVA_HOME=/usr/java/jdk1.8.0_221 export JRE_HOME=/usr/java/jdk1.8.0_221/jre</code></pre> <h3>2.tomcat调优之java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread“XXXX”</h3> <h4>2.1.Linux下:</h4> <p>【案例-001】:此法在蓝牙门锁中使用解决问题。 【案例-001】:同一个tomcat下有多个项目时,如:测温项目有如下三个项目时,报错信息见下面:</p> <pre><code class="language-bash">temperature_monitor_front temperature_monitor_gateway temperature_monitor_service</code></pre> <p>运行tomcat7,浏览器一刷新就报错如下:</p> <pre><code class="language-bash">Exception in thread "http-bio-28180-exec-3" Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "http-bio-28180-exec-3" Exception in thread "http-bio-28180-exec-2" Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "http-bio-28180-exec-2" Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]"</code></pre> <p>【解决办法】:在tomcat/bin/catalina.sh文件中,开头部位添加如下一行:</p> <pre><code class="language-bash">JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.security.egd=file:/dev/./urandom"</code></pre> <h4>2.2 Windows下:</h4> <p>tomcat启动时,内存溢出,Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread &quot;main&quot; 参考https://www.cnblogs.com/Chiler/p/9484266.html 【问题原因】   通过tomcat启动项目,也许是因为项目太大,配置的内存不够用了。老是报内存溢出的问题。 【解决办法】 在tomcat_home/bin目录下找到catalina.bat,用文本编辑器打开,加上下面一行:</p> <pre><code class="language-bash">set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M</code></pre> <p>解释一下各个参数:</p> <pre><code class="language-bash">-server:一定要作为第一个参数,在多个CPU时性能佳 -Xms1024M:JVM初始分配的堆内存(Heap), 生产环境建议与Xmx相同, 设为1024m以上(注意,不加M单位是KB) -Xmx1024M:JVM最大允许分配的堆内存(Heap), 生产环境建议设为1024m以上,按需分配 上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。 -XX:PermSize=256M:JVM初始分配的非堆内存(内存的永久保存区域), 不会被回收, 生产环境建议与maxPermSize相同, 设为256m以上 -XX:MaxPermSize=256M:JVM最大允许分配的非堆内存(最大内存的永久保存区域), 生产环境建议设置为256m以上,按需分配。 -XX:MaxNewSize=800m:JVM堆区域新生代内存的最大可分配大小(PermSize不属于堆区), 生产环境建议设为800M-1024M</code></pre> <p>附: JAVA_OPTS讲解【转】 <a href="https://www.cnblogs.com/paul8339/p/6755499.html">https://www.cnblogs.com/paul8339/p/6755499.html</a> tomcat 启动参数 Xms, Xmx, XX:MaxNewSize, XX:PermSize, -XX:MaxPermSize, Djava.awt.headless <a href="https://www.cnblogs.com/milton/p/4380126.html">https://www.cnblogs.com/milton/p/4380126.html</a></p> <p>JVM内存模型(jvm 入门篇) <a href="https://www.jianshu.com/p/a60d6ef0771b">https://www.jianshu.com/p/a60d6ef0771b</a> JVM垃圾回收算法 <a href="https://www.jianshu.com/p/114bf4d9e59e">https://www.jianshu.com/p/114bf4d9e59e</a> JVM 内存区域大小参数设置 <a href="https://www.jianshu.com/p/5946c0a414b5">https://www.jianshu.com/p/5946c0a414b5</a></p>

页面列表

ITEM_HTML