Heap/Perm space

**

1,eclipse开发出的j2ee程序,发布到Tomcat的Webapps目录下:

将eclipse下配置的tomcat server 移除所有程序,然后,右键--open,改 server location

2,eclipse发布程序到webapps下后,以tomcat的startup.bat启动,出现perm space:

自己编写一个setenv.bat,内容是set JAVA_OPTS=-Dfile.encoding=gbk -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m,

然后将setenv.bat放在${Tomcat_home}/bin的目录下,重启tomcat即可;

扯点别的:注意Catalina_base,Catalina_home,Tomcat_home

3,将tomcat注册为windows 服务

以管理员身份运行${Tomcat_home}/bin目录下的“service.bat”,输入service.bat install

如果卸载,则是service.bat remove

4,如果tomcat注册为window服务后,发现服务启动后自动停止,可能是出现了heap/permsize space:

以管理员身份运行${Tomcat_home}/bin目录下的“Tomcat7w.exe”,调至java,在jre options后追加。。。,然后下面的heap也要改,320,1024

具体后续再完善

**

时间: 2024-10-30 11:04:34

Heap/Perm space的相关文章

Tomcat7 perm space解决(转)

set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=256m -Xverify:none -da 注意:很多说要加上参数-server,即set JAVA_OPTS=%JAVA_OPTS% -server -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxP

Memory Analyzer Tool定位Java heap space内存泄漏

java heap space是一个很蛋疼的问题,如果开发调试时遇到还好,如果是在项目上线后运行一段时间后,才抛出该异常,那真的很悲剧(那你得找代码中到底是哪里内存泄露了),这真是一个悲伤的故事. 1.java head space堆内存溢出 分  析 发生这种问题的原因是java虚拟机创建的对象太多,在进行垃圾回收之间,虚拟机分配的到堆内存空间已经用满了,与Heap space有关. 解决方法: 1. 增加Java虚拟机中Xms(初始堆大小)和Xmx(最大堆大小)参数的大小.如:set JAV

Linux服务器开发常用的命令以及遇到的问题

1. 什么是linux服务器load average? Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多.参考资料:http://en.wikipedia.org/wiki/Load_average 2. 如何查看linux服务器负载 可以通过w,top,uptime,procinfo命令,也可以通过/proc/loadavg文件查看. 3. 服务器负载高怎么办? 服务器负载(load/load average)是根据进程队列的

jstat

jstat查看JVM gc利用及回收情况 S0  - Heap上的 Survivor space 0 区已使用空间的百分比S1  - Heap上的 Survivor space 1 区已使用空间的百分比E   - Heap上的 Eden space 区已使用空间的百分比O   - Heap上的 Old space 区已使用空间的百分比P   - Perm space 区已使用空间的百分比YGC - 从应用程序启动到采样时发生 Young GC 的次数YGCT– 从应用程序启动到采样时 Young

jstat -gcutil

jstat -gcutil 9596 250 12 jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]] 参数解释: Options - 选项,我们一般使用 -gcutil 查看gc情况 vmid    - VM的进程号,即当前运行的java进程号 interval– 间隔时间,单位为秒或者毫秒 count   - 打印次数,如果缺省则打印无数次 S0  - Heap上的 S

Java虚拟机的内存组成以及堆内存介绍

一.java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时创建的.”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”.可以看出JVM主要管理两种类型的内存:堆和非堆.简单来说堆就是Java代码可及的内存,是留给开发人员使用的:非堆就是JVM留给 自己用的,所以方法区.JVM内部处理或优化所需的内存(如JIT编译后的代码缓存).每

Java中关于OOM的场景及解决方法

原文地址:http://developer.51cto.com/art/201112/305696.htm 1.OOM for Heap=>例如:java.lang.OutOfMemoryError: Java heap space分  析:此OOM是由于JVM中heap的最大值不满足需要,将设置heap的最大值调高即可,参数样例为:-Xmx2G解决方法:调高heap的最大值,即-Xmx的值调大.2.OOM for Perm=>例如:java.lang.OutOfMemoryError: Ja

JVM性能分析和调优方向

1)合理配置参数 jvm内存=堆内存+非堆内存 堆内存=新生代+年老代 新生代=1个Eden区+2个survivo区 非堆内存=持久代+代码缓存 -server:服务器模式,该参数放置在配置项的首位置 -Xms:堆的初始大小,单位MB 配置-Xms与-Xmx一致,为可用内存的80% -XmX:堆的最大大小,单位MB -Xmn:新生代的初始大小,单位MB 为堆大小的3/8 当业务中有数据量很大的文件需要导出时,需要调整以下2个参数的值,可避免出现OOM -XX:PermSize:持久代的初始大小,

jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令

公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子.昨天晚上总结了一下jstack(查看线程).jmap(查看内存)和jstat(性能分析)命令.供大家参考 1.Jstack 1.1   jstack能得到运行java程序的java stack和native stack的信息.可以轻松得知当前线程的运行情况.如下图所示 注:这个和thread dump是同样的结果.但是thread dump是用kill -3 pid命令,还是服务器上面少用kill为妙 1.2   命名行格式