有一台服务器上部署了tomcat,随着时间的推移,内存消耗越来越大,所以写了一个小脚本配合crontab定时检测内存,不足的情况下重启tomcat。#!/bin/bash#tomcat restart:out of memoryLOG=./restart_tomcat.logTOMCAT=/tomcat/bin/TOMCATDIR=/tomcat echo"----------------------------" >> $LOGmem_total=$(free -m |grep Mem|awk ‘{print$2}‘)mem_used=$(free -m|grep -|awk ‘{print $3}‘)mem_rate=$(echo "scale=4;$mem_used ...
tomcat启动报错,无法创建 bean listenerStatusChangeDealHandler, no queue ‘STOCK.NOTIFY_CHANGE.INTER.CACHE.QUEUE‘ in vhost从启动日志来看,有时候仅会看到内存泄漏,而没有与queue相关的日志,很容易走错方向。按照 http://blog.csdn.net/wangjunjun2008/article/details/23375501 的方法可以看到详细日志,从而确定报错原因tomcat启动报错,无法创建 bean listenerStatusChangeDealHandler, no queue 'STOCK.NOTIFY_CHANGE...
tomcat修改jvm内存内存大小:-Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=512m -Djava.awt.headless=true这个是我的 一般项目这个内存大小够用了一 直接修改tomcat 适用于 bat方式启动到tomcat安装目录下的bin中catalina.bat 如D:\apache-tomcat-7.0.70\bin\catalina.bat打开catalina.bat文件 打开后会从第一行开始注释,从上往下找到第一行没有注释的,在其上方,添加set JAVA_OPTS=-Xms1024M ...
windows下和linux设置方法不一样,请注意取消双引号,前面增加set:在catalina.bat的@echo off下面添加set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=256m本文出自 “蜗牛,为梦想而生” 博客,请务必保留此出处http://ywliyq.blog.51cto.com/11433965/1968637原文:http://ywliyq.blog.51cto.com/11433965/1968637
Java内存溢出详解 一、常见的Java内存溢出有以下三种: 1.
java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出
JVM在启动的时候会自动设置JVM
Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。可以利用JVM提供的-Xmn -Xms
-Xmx等选项可进行设置。Heap的大小是Young Generation 和Tenured Generaion 之和。在JVM中如果98%的时间是用于GC,且可用的Heap size
不足2%的时候...
难得遇到一次java堆内存溢出(心里想着,终于可以来一次jvm性能优化了$$)先看下报错信息, java.lang.OutOfMemoryError: GC overhead limit exceeded错误就是发出了这样的信号: 执行垃圾收集的时间比例太大, 有效的运算量太小. 默认情况下, 如果GC花费的时间超过 98%, 并且GC回收的内存少于 2%, JVM就会抛出这个错误。造成这个问题的原因可能是项目里某个地方定义的太多的map,list对象,或者一次从数据库中查询的数据量过大。 资料...
放在前面要说的话:
JVM内存分配设置的参数有四个-Xmx Java Heap最大值,默认值为物理内存的1/4;-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;-Xmn Java Heap Young区大小,不熟悉最好保留默认值;-Xss 每个线程的Stack大小,不熟悉最好保留默认值;-XX:PermSize:设定内存的永久保存区域;-XX:MaxPermSize:设定最大内存的永久保存区域;-XX:PermSize:设定内存的永久保存区域;-...
前言:在生产环境中经常发生服务器内存溢出,假死或者线程死锁等异常,导致服务不可用。我们经常使用的解决方法是通过分析错误日记,然后去寻找代码到底哪里出现了问题,这样的方式也许会奏效,但是排查起来耗费时间比较多,或者说本身代码本身就没有错,而是访问量大时候消耗内存太多,垃圾对象没有及时回收等等其他情况导致的,这样排查异常起来异常困难,那么有没有一些可视化的工具,帮助我们可以详细地查看当前应用服务的内存情...
一. 设置Tomcat启动的初始内存 其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置以下给出1G内存环境下java jvm 的参数设置参考: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX...
前言在平时开发、测试过程中、甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题。我们需要找造成OutOfMemoryError原因。一般有两种情况:1、内存泄露,对象已经死了,无法通过垃圾收集器进行自动回收,通过找出泄露的代码位置和原因,才好确定解决方案;2、内存溢出,内存中的对象都还必须存活着,这说明Java堆分配空间不足,检查堆设置大小(-Xmx与-Xms),检查代码是否存在对象生命周期太长...
C#连接solr时提示 java内存异常 java.lang.OutOfMemoryError 时间:20180130 09:51:13.329,消息:异常消息<?xml version="1.0" encoding="UTF-8"?> 1 <response>2 <lst name="responseHeader"><int name="status">400</int><int name="QTime">1</int></lst><lst name="error"><lst name="metadata"><str name="error-class">org.apache.solr.common.SolrException</str><str name="root-error-class">java.lang.OutOfMemoryErro...
一、解压版tomcat 启动startup.bat1.java.lang.OutOfMemoryError: Java heap spac Heap size 设置 JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。 提示:在JVM中如果98%的时...
配置内存,需要在catalina.bat中添加JAVA_OPTS参数,如下内容:SET JAVA_OPTS=-Xms256m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=428m -Duser.timezone=Asia/Shanghai配置远程debug端口,需要在catalina.bat中添加CATALINA_OPTS参数,如下内容:SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1021之后在eclipse中进行远程调试:然后就可以远...
a) 内存优化:主要是对Tomcat启动参数进行优化,我们可以在Tomcat启动脚本中修改它的最大内存数等等。b) 线程数优化:Tomcat的并发连接参数,主要在Tomcat配置文件中server.xml中配置,比如修改最小空闲连接线程数,用于提高系统处理性能等等。c) 优化缓存:打开压缩功能,修改参数,比如压缩的输出内容大小默认为2KB,可以适当的修改。
Jconsole是JDK自带的监控工具,在JDK/bin目录下可以找到。它用于连接正在运行的本地或者远程的JVM,对运行在java应用程序的资源消耗和性能进行监控,并画出大量的图表,提供强大的可视化界面。而且本身占用的服务器内存很小,甚至可以说几乎不消耗,不失为一款好工具。-------------Jconsole监视远程的linux服务器上的tomcat ----------------------------- 环境:服务器端: Linux + jdk1.60 + tomcat
7客户端: Windows + jdk1.6....