`
keriny
  • 浏览: 94886 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

RESIN之内存溢出

XML 
阅读更多
最近在做项目时,因为项目需求不确定导致项目在做好之后需要不断的更新,这样就需要服务器的运维人员去不断的重新部署项目。刚开时还行,过了一段时间运维人员不干了,因为项目使用的是ssh2架构,所以要很多的jar包,项目在每次部署时都会浪费很多的内存。部署的次数多了内存就溢出了。经过研究、查看resin本身的配置文件,在conf 目录下的resin.conf 和app-default.xml中分别找到以下部分

resin.conf:
<class-loader>
    <tree-loader path="${resin.home}/ext-lib"/>
    <tree-loader path="${resin.root}/ext-lib"/>
    <tree-loader path="${resin.home}/lib"/>
    <tree-loader path="${resin.root}/lib"/>
    <tree-loader path="${resin.root}/usr/local/lib"/>
</class-loader>
在查找资料后发现

这个是resin在启动时要加载的class和jar包。增加节点<tree-loader path="${resin.root}/usr/local/lib"/>
在path目录下放置工程需要的jar包。注意:工程中就不能带有任何jar包了。但是在每次部署时还是会浪费一些内存,这是因为工程内的.class文件加载导致的。


app-default.xml:
  <class-loader>
    <compiling-loader path="WEB-INF/classes"/>
    <library-loader path="WEB-INF/lib"/>
  </class-loader>
增加节点<library-loader path="${resin.root}/usr/local/lib"/>,同样可以。但是这样和在resin.conf 中配置还是

有区别的。在此位置增加lib目录,在项目每次部署时还是会加载这些个jar包。这样还是会导致内存溢出。

所以两者比较个人觉得还是在resin.conf中配置比较好。但是这个并不能从根本上解决resin的内存溢出问题。最好的解决方法还是对一个项目的需求确定。开发完成之后就不会要做修改啦、、、

0
0
分享到:
评论

相关推荐

    解决OutOfMemoryError内存溢出

    ### 解决OutOfMemoryError内存溢出 在Java开发过程中,我们经常会遇到`java.lang.OutOfMemoryError`(简称OOM)的问题。这个问题的发生主要是由于JVM内存不足或程序中存在内存泄漏所引起的。本文将深入探讨OOM产生...

    resin内存益出后自动重启

    ### Resin内存溢出后自动重启方案解析 #### 背景介绍 Resin是一款高性能、功能丰富的Java应用服务器及Web容器,广泛应用于各种企业级应用程序和服务中。它支持多种编程语言,包括Java、JSP等,并且在性能优化方面...

    resin常见有关问题

    这是一个内存溢出问题,表明JVM的堆内存不足。解决方法包括增加JVM启动时的堆内存大小,进行堆转储以定位无法被垃圾回收的对象,以及检查是否有长时间占用内存的线程。如果JVM内存和操作系统报告的内存使用存在差异...

    运维-resin常见问题.txt

    Java内存溢出错误 ##### 1.3 `java.lang.OutOfMemoryError` 应对策略 在使用Resin过程中,可能会遇到`java.lang.OutOfMemoryError`异常,这通常是由于Java虚拟机(JVM)的堆内存不足所导致的。解决此问题的方法...

    resin2优化-命令配置优化服务器

    根据应用的负载情况,适当调整此值可以防止服务器因内存溢出而崩溃。 二、服务器性能调优策略 1. **线程池配置**:Resin允许用户自定义线程池大小,以平衡服务器响应速度和资源消耗。适当增加线程池大小可以提高...

    nginx+resin+memcache介绍-整合

    - 处理常见的异常情况,如内存溢出(Out Of Memory Error)、频繁的GC等。 - **优化技巧**:除了JVM层面的调优之外,还包括服务器级别的设置,如缓存策略、连接池配置等。 #### Memcache概述 Memcache是一种分布式...

    性能调优实战记录(doc)

    JRockit的引入显著提高了TPS,但同时也带来了新的问题:在内存使用达到一定程度时,Resin会自动重启,这可能是其自我保护机制,防止内存溢出。 通过JMC监控,确认了内存泄露问题依然存在,需要进一步排查。这次性能...

    简单实用JVM参数配置

    5. **直接内存**:使用NIO或Resin可能导致直接内存溢出,可以调整`-XX:MaxDirectMemorySize`限制其大小,并在Full GC时进行回收。 6. **JVM堆内存管理**:设置`-Xmx`和`-Xms`为相同值,避免堆自动扩展带来的性能...

    如何配置jvm参数,调优

    - **Xms与Xmx均为1800M**:意味着JVM的堆内存固定为1.8GB,既减少了内存动态调整带来的开销,又避免了内存溢出的风险。 - **Xmn300M**:设置年轻代大小为300MB,适用于对象生命周期较短的场景,减少频繁的垃圾回收...

    百度2019年最新面试题库

    - **原因**:尾递归可以优化为循环,避免了深度递归造成的栈溢出风险,提高了程序的效率。 #### 什么是控制反转(InversionofControl)与依赖注入(DependencyInjection) - **控制反转(IoC)**: 一种设计模式,...

Global site tag (gtag.js) - Google Analytics