一、内存
JVM堆栈内存是决定应用服务器性能的关键指标,一般服务器默认的内存配置都比较小,在较大型的应用项目中,这点内存是不够的,因此需要进行查看与修改Web服务器内存大小,接下来就介绍服务器内存查看的方法以及不同服务器内存的修改方式。
各应用服务器的内存配置方法不尽相同,如下列出了常用服务器的JVM参数(-Xms,-Xmx)配置方法。
JVM参数定义:
- Xms: 初始化内存大小
- Xmx: 可以使用的最大内存
以下示例工具:报表开发工具FineReport
二、服务器内存的查看
如果您想要查看应用服务器的内存配置情况,可以启动Web服务器,进入平台系统,URL地址为:http://localhost:8080/WebReport/ReportServer?op=fr_platform,选择管理系统>系统监控>系统状态>内存使用情况,即可查看到当前web服务器的内存使用情况,如下图:
注:如果用户购买了数据决策系统,那么URL地址可以输入http://localhost:8075/WebReport/ReportServer?op=fs
其中:
空闲内存:204M是指可用剩余内存为:204M。
所有内存:247M是指当前调用的内存为:247M。
最大内存:494M是指可调用的最大内存为:494M。
三、FineReport内存机制
3.1 描述
在使用报表的过程中有时候会遇到内存溢出的问题,下面简单介绍我们报表的内存机制以及怎样释放内存。
3.2 内存机制
3.21内存回收机制
Java的内存垃圾回收(GC)机制是从程序的主要运行对象开始检查引用链,当遍历一遍后发现没有被引用的孤立对象就作为垃圾回收。GC为了能够正确释放对象,必须监控每一个对象的运行状态。包括对象的申请、引用、被引用、赋值等,GC都需要进行监控。
在Java中,这些无用的对象都由GC负责回收,同时java提供了函数可以访问GC, 如运行GC的函数System.gc(),但是根据Java语言规范定义,该函数不保证JVM的垃圾收集器一定会执行。因为不同的JVM实现者可能使用不同的算法管理GC。通常GC的线程的优先级别较低。JVM调用GC的策略也有很多种,有的是内存使用到达一定程度时,GC才开始工作,也有定时执行的,有的是平缓执行GC,有的是中断式执行GC。
导致内存泄漏主要的原因是,先前申请了内存空间而忘记了释放。如果程序中存在对无用对象的引用,那么这些对象就会驻留内存,消耗内存,因为无法让垃圾回收器GC验证这些对象是否不再需要。如果存在对象的引用,这个对象就被定义为"有效的活动",同时不会被释放。要确定对象所占内存将被回收,我们就要务必确认该对象不再会被使用。
3.22 中内存管理释放机制说明
FineReport报表后台采用的是纯java语言编写, 因此其内存释放机制与上述保持一致,当客户端与服务器端交互结束(如关闭浏览器页面, 打印结束等), 服务器端会将之前客户端操作消耗的内存释放掉, 即置为可被回收状态, 等候jvm调用gc
3.3中的手动GC方法
FR在1G内存下的临界点应该在130w行*5列左右, 对于某些集成环境来说, 有可能是需要做某些操作后, 将FR占用的内存释放掉, FR里面也提供了响应的接口, 具体使用方法如下所示:
在一个模板中添加一个按钮, 给按钮加上点击事件, 或者直接在js中调用, 内容如下:
$.ajax({ url : FR.servletURL, data : { op : 'fr_utils', cmd : 'gs_gc' }, async : false, })
相关推荐
详细讲解了Maximo7.1报表BIRT的开发过程,基于 Eclipse 的开源报表系统,特别之处在于它是以 Java 和 J2EE 为基础。BIRT 有两个主要组件:基于 Eclipse 的报表设计器,以及部署到应用服务器上的运行时组件。BIRT 也...
所包括的模块: 什么是SQL Server报表服务? 浅析SQL Server 2008企业级新特性 揭开SQL Server 2008的神秘面纱 ...报表服务器的管理 高级篇: 报表的创建技巧 报表服务的自定义编程 报表的访问、呈现及订阅管理
表单知识、.NET运行机制、Visual Studio 2008技巧、ASP.NET服务器控件的使用、SQL注入防范、单元测试、三层架构、报表、数据加密/解密、GDI+、ADO.NET、分布式开发、AJAX开发及静态页面生成技术、高性能ASP.NET应用...
通过在服务器端使用JSP或JavaBean生成PDF报表,客户端采用超级链接显示或下载得到生成的报表,这样就很好地解决了B/S系统的报表处理问题。本章的主要内容为iText组件的简介、开发以及典型应用。
书中系统地讲解了ASP.NET企业开发的多个层面,主要知识点包括:表单知识、ASP.NET运行机制、Visual Studio 2008技巧、ASP.NET服务器控件的使用、SQL注入防范、单元测试、三层架构、报表、数据加密/解密、GDI+、ADO...
Zabbix 是一个企业级分布式开源监控解决方案。 ? Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器...
表单知识、.NET运行机制、Visual Studio 2008技巧、ASP.NET服务器控件的使用、SQL注入防范、单元测试、三层架构、报表、数据加密/解密、GDI+、ADO.NET、分布式开发、AJAX开发及静态页面生成技术、高性能ASP.NET应用...
Zabbix 是一个企业级分布式开源监控解决方案。 Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应...
• 网络应用服务器和数据库服务器监控方法和指标分析详解 脚本的录制与编写 • 脚本结构的分析 • 脚本参数化原理,如何进行参数化脚本 • Runtime Setting属性的介绍以及对应的工作原理 • VUGEN中Debug工具介绍...
报价之星主要由企业内投标工程师、方案制作人员使用,自动生成word、excel、html等多种格式报表,以解决众多企业在投标报价、项目报价问题。软件不仅拥有其强大的计算功能,且已录入多种模板逻辑,不需要再自主制作...
1、深入掌握.NET框架核心数据处理组件,掌握高级数据编程和高性能数据处理.本项目采用Dnet主流的三层架构为最主要的开发框架。同时会涉及到jQuery Ajax、XML、jQuery插件 、Dtree递归树\WebChart高级图表统计图\...
第 20 章:详细讲解Delphi报表组件的使用方法,除此之外,还简单讲解了Delphi决策组 件的使用方法。 第 21 章:主要讲解 Delphi 开发数据库程序的大体步骤,并以“图书管理系统”为 例,向读者介绍 Delphi 开发实用...
结合工作中的实际经验,多方面讲解了网络出口安全日志的类型、日志数据挖掘的必要性、相关工作的着眼点、遇到的问题等,让某些平时只把安全日志作为用于做报表向上级汇报的小伙伴大开眼界。 安全基础原则 我们面对的...
第二篇介绍了数据库SQL 2005的相关知识,包括数据库的操作、数据查询语言基础以及数据报表的相关概念;第三篇介绍了ADO.NET的相关知识,包括数据库的使用、数据集的操作、SQLXML的相关操作、XML编程以及数据映射。...
服务器自定义开发二之客户端脚本回发 Web开发: 使用URL重写WEB主题切换 如何在Asp.Net1.1中实现页面模板(所谓的MasterPage技术) Tool Tip 示例(FILTER版) Tool Tip示例 (htc版) 一个.net发送HTTP数据实体的类 ...
Zabbix 是一个企业级分布式开源监控解决方案。 Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应...
包括认识ASP.NET 2.0、ASP.NET 2.0网页语法、字符串与日期处理、Page对象、...性能数据处理技术、ADO.NET数据库技术、数据绑定控件、ASP.NET数据缓存技术、站点导航和导航控件、Web用户控件、创建ASP.NET服务器控件、...
当然,在产品未开发时总是不能考虑的很完善,这时,功能开发完成后对程序的性能优化就显得很有必要了。本讲将介绍如何优化ASP.NET应用程序,使每一位开发者都了解ASP.NET应用程序的优化方法,写出更高效的应用程序。...