Bpmx是一个较大的平台,直接发布的话会有内存问题,经查阅一些资料,java1.5没有解决好之前版本的历史问题,所以在垃圾处理gc上有很多配置需要手动完成,之后的版本同上。

Bpmx平台自带的文档中部分解决了这个问题,在开发平台上运行没有问题。在直接发布到tomcat上的时候,也可由此确定此项目的内存需求,大约在500m到1g之间,class内存在256m,但是经测试,他的配置是有问题的。

接下来直接讨论具体的实施细节。

1、tomcat安装和项目拷贝目录没有变化。注意先配置jdk环境变量。

2、在tomcat安装目录下的bin文件夹,找到catalina.bat,右击鼠标选择编辑。在   @echo off下面插入一行,就是第二行,输入一下内容。

3、输入:  set JAVA_OPTS=-server -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:MaxTenuringThreshold=31 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70

4、保存退出后,还是在bin文件夹,双击打开startup.bat

5、弹出的命令窗口不要关闭,如果需要关闭服务,在这个命令窗口输入Ctr-C即可。

实施细节就这么些,这个配置将适用于2g以下内存的项目,这些数值需要符合一定的算法,不要随便修改这些参数,可能直接导致服务崩溃。根据需要可以删除-XX:+Print开头的属性项,在访问比较频繁的时候,大量的回显也会影响系统效率。

下面说一说原理方面的。

除回显配置外,其他的主要是两方面,内存设置和垃圾回收设置。根据资料提供的经验,-Xmx和-Xms应该输入相同的值,相应的-Xmn应当是这个值的4分之一,这个设置在绝大多数项目中就是足够的,但是在部署bpmx的时候,会出现OOM异常,消息大致是gc...limit,这个报错如果在百度上搜索是找不到的,基本上和第一条的都是出自一个版本,链接如下:http://blog.csdn.net/kongls08/article/details/8468713。这篇文章写得也很不错,但是只提到了3个报错,都不是关于gc的,所谓gc就是java的垃圾回收,这个报错的原理就是前面所说的,在旧版中sun公司没有预料到动态内存调用会像现在这么流行,从而在没有足够的配置的时候gc会产生一些类似于指针方面的问题。我不知道为什么关于gc的资料会这么少,直接搜索gc配置,又会弹出很多不想关的资料。都说程序员查东西需要谷歌,没办法我就只好上bing.com。都说这个搜索不怎么样,我还是找到了一些东西。先说说平台文档的问题,他建议的配置中-XX:MaxNewSize这种类似的东西,是适用于jdk1.3和jdk1.4的,在1.4以上已经被-Xmn所取代。配置的是新生代内存的最大值和初始值,但是新的配置中已经被并到了一起。持久内存空间-XX:PermSize和-XX:MaxPermSize是比较独立的一部分,如果在访问jsp文件的时候经常出错,就可以把这一对值调大一点。

在另一个站点中,我找到了处理垃圾回收的办法。http://hllvm.group.iteye.com/ group/wiki/2870-JVM。他的内存设得比我们的需求要大的多,但是我们的问题在于tomcat没有把丰富的系统资源利用起来,而不是系统资源不够,调的大一些暂时不会有问题。

Bpmx实施经验的更多相关文章

  1. CM记录-CDH大数据平台实施经验总结2016(转载)

    CDH大数据平台实施经验总结2016(转载) 2016年负责实施了一个生产环境的大数据平台,用的CDH平台+docker容器的方式,过了快半年了,现在把总结发出来. 1. 平台规划注意事项 1.1 业 ...

  2. DDD实施经验分享—价值导向、从上往下进行(圈内第一个吃螃蟹DDD实施方案)

    阅读目录: 1.背景 2.从业务开始 3.从战略到战术 4.借助外力推动研发(QA.领导.自动化测试) 5.领域模型与SAAS平台的内核(价值最大化) 6.最后 1.背景 DDD本身的技术就不介绍了, ...

  3. 3星|《绩效使能:超越OKR》:较全较新资料汇编,华为实施经验少

    全书是关于绩效管理与OKR的比较新比较全的资料汇编.从泰勒的科学管理说起,一直到现代的KPI.最近的OKR.梳理了工业革命以来重要的绩效管理思想的具体方法.适应情况,详细讲OKR的来龙去脉.适应情况. ...

  4. 选错实施顾问公司 ERP项目九死一生

    今天接到一个朋友的电话,他是一家企业老总.这位老总感到非常头疼的是他的企业选择了一款国际上名气很大的ERP软件,但实施效果却强差人意.他的疑问是"不是说只要选对了ERP产品,谁实施都能成功吗 ...

  5. CRM实施目标、需求、策略、厂商、流程等基本介绍全解

    事实证明,有不少实施了CRM系统的企业经历了失败.这是为何?而据一个在线CRM论坛调查其失败的原因:       67%是因为缺乏组织和管理变革去适应CRM:如组织机构未调整.未融入企业文化.流程不清 ...

  6. CRM实施失败?请注意这6大问题及对策!

    据Gartner调查显示:约50%的CRM项目不能达到客户期望.这一点与很多其他的IT项目状况非常类似,大多出于管理问题,供应商服务能力,项目执行不善等. 另据一个在线CRM论坛调查其失败的原因:67 ...

  7. 【TOP100案例专访】当当网工程师林嘉琦谈双11大促经验及APM实践

    导读:第七届TOP100全球软件案例研究峰会将于11月30日-12月3日在北京国家会议中心举办,本届峰会以“释放AI生产力 让组织向智能化演进”为开幕式主题,旨在推动企业在趋势下拥抱AI.探索和思考A ...

  8. MES实施会有哪些情况?为你介绍两种常见的类型

    MES项目实施顾问是一份极具挑战的工作,需具备大量的专业知识,以及丰富的实施经验.今天,小编为大家介绍最常见的两种MES实施顾问类型,希望对大家有所启发. 保姆型实施顾问 是指以实施顾问为主导,只要是 ...

  9. OA系统从选型到实施完整攻略

    本文结合一线IT人士分享OA实施经验,单纯地讲述OA的选型与实施,为相关经验较少的IT人士提供真正的帮助. 一.如何选择OA系统 说起OA选型,稳定性.易用性.灵活性.成本和服务少不了.但是,只了解这 ...

随机推荐

  1. Vue 性能优化track-by

    Vue 是一个MVVM框架 所谓mvvm就是model-->view,view-->model. vue帮助我们实现了自动绑定.省点我们用JQUERY,zpeto 去操作dom的麻烦. 主 ...

  2. MultipeerConnectivity框架,近场通信的基本使用

    Multipeer connectivity是一个使附近设备通过Wi-Fi网络.P2P Wi-Fi以及蓝牙个人局域网进行通信的框架.互相链接的节点可以安全地传递信息.流或是其他文件资源,而不用通过网络 ...

  3. Thread.join()方法

    thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B.t.join() ...

  4. Leetcode--Generate Parentheses

    主要考察栈的理解 static vector<string> generateParenthesis(int n) { vector<string> res; addingpa ...

  5. Asp.net的request类

    ASP.NET获取客户端信息,暂时就这几个,有待添加~~ 1. 在ASP.NET中专用属性: 获取服务器电脑名:Page.Server.ManchineName 获取用户信息:Page.User 获取 ...

  6. 设计模式学习笔记-Adapter模式

    Adapter模式,就是适配器模式,使两个原本没有关联的类结合一起使用. 平时我们会经常碰到这样的情况,有了两个现成的类,它们之间没有什么联系,但是我们现在既想用其中一个类的方法,同时也想用另外一个类 ...

  7. .net乱码问题

    最近在给一个客户做framwwork版本升级,从1.0版本升级到4.0版本,发现最大的问题就是乱码. 在1.0版本下,gb2312编码能够运行得很好,可是升级到4.0后就都是乱码. 随后将webcon ...

  8. java 平面上最近两个点之间的距离

    public class ClosestPair{ public static void main(String[] args) { float[][] a = new float[][]{{3, 3 ...

  9. 提高ASP.NET应用程序性能的十大方法

    一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的 ...

  10. HTML <span> 标签

    定义和用法: <span>标签被用来组合文档中的行内元素.在行内定义一个区域,也就是一行内可以被<span>划分成好几个区域,从而实现某种特定效果.<span>本身 ...