resin JVM内存设置简要

resin-jvm 调优 1.JVM的gc概述 gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。 在充分理解了垃圾收集算法和执行过程后,才能有效的优化它的性能。有些垃圾收集专用于特殊的应用程序。比如,实时应用程序主要是为了避免垃圾收集中断,而大多数OLTP应用程序则注重整体效率。理解了应用程序的工作负荷和jvm支持的垃圾收集算法,便可以进行优化配置垃圾收集器。 垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。 1.1.引用计数 引用计数存储对特定对象的所有引用数,也就是说,当应用程序创建引用以及引用超出范围时,jvm必须适当增减引用数。当某对象的引用数为0时,便可以进行垃圾收集。 1.2.对象引用遍历 早期的jvm使用引用计数,现在大多数jvm采用对象引用遍历。对象引用遍历从一组对象开始,沿着整个对象图上的每条链接,递归确定可到达(reachable)的对象。如果某对象不能从这些根对象的一个(至少一个)到达,则将它作为垃圾收集。在对象遍历阶段,gc必须记住哪些对象可以到达,以便删除不可到达的对象,这称为标记(marking)对象。 下一步,gc要删除不可到达的对象。删除时,有些gc只是简单的扫描堆栈,删除未标记的未标记的对象,并释放它们的内存以生成新的对象,这叫做清除(sweeping)。这种方法的问题在于内存会分成好多小段,而它们不足以用于新的对象,但是组合起来却很大。因此,许多gc可以重新组织内存中的对象,并进行压缩(compact),形成可利用的空间。 为此,gc需要停止其他的活动活动。这种方法意味着所有与应用程序相关的工作停止,只有gc运行。结果,在响应期间增减了许多混杂请求。另外,更复杂的gc不断增加或同时运行以减少或者清除应用程序的中断。有的gc使用单线程完成这项工作,有的则采用多线程以增加效率。 2.几种垃圾回收机制 2.1.标记-清除收集器 这种收集器首先遍历对象图并标记可到达的对象,然后扫描堆栈以寻找未标记对象并释放它们的内存。这种收集器一般使用单线程工作并停止其他操作。 2.2.标记-压缩收集器 有时也叫标记-清除-压缩收集器,与标记-清除收集器有相同的标记阶段。在第二阶段,则把标记对象复制到堆栈的新域中以便压缩堆栈。这种收集器也停止其他操作。 2.3.复制收集器 这种收集器将堆栈分为两个域,常称为半空间。每次仅使用一半的空间,jvm生成的新对象则放在另一半空间中。gc运行时,它把可到达对象复制到另一半空间,从而压缩了堆栈。这种方法适用于短生存期的对象,持续复制长生存期的对象则导致效率降低。 2.4.增量收集器 增量收集器把堆栈分为多个域,每次仅从一个域收集垃圾。这会造成较小的应用程序中断。 2.5.分代收集器 这种收集器把堆栈分为两个或多个域,用以存放不同寿命的对象。jvm生成的新对象一般放在其中的某个域中。过一段时间,继续存在的对象将获得使用期并转入更长寿命的域中。分代收集器对不同的域使用不同的算法以优化性能。 2.6.并发收集器 并发收集器与应用程序同时运行。这些收集器在某点上(比如压缩时)一般都不得不停止其他操作以完成特定的任务,但是因为其他应用程序可进行其他的后台操作,所以中断其他处理的实际时间大大降低。 2.7.并行收集器 并行收集器使用某种传统的算法并使用多线程并行的执行它们的工作。在多cpu机器上使用多线程技术可以显著的提高java应用程序的可扩展性。 3.Sun HotSpot 1.4.1 JVM堆大小的调整 Sun HotSpot 1.4.1使用分代收集器,它把堆分为三个主要的域:新域、旧域以及永久域。Jvm生成的所有新对象放在新域中。一旦对象经历了一定数量的垃圾收集循环后,便获得使用期并进入旧域。在永久域中jvm则存储class和method对象。就配置而言,永久域是一个独立域并且不认为是堆的一部分。 下面介绍如何控制这些域的大小。可使用-Xms和-Xmx 控制整个堆的原始大小或最大值。 下面的命令是把初始大小设置为128M: java –Xms128m –Xmx256m为控制新域的大小,可使用-XX:NewRatio设置新域在堆中所占的比例。 下面的命令把整个堆设置成128m,新域比率设置成3,即新域与旧域比例为1:3,新域为堆的1/4或32M: java –Xms128m –X 立即下载

在服务器端,一个java应用类似resin设置-Xms和-Xmx值最好是相同的
最有效的垃圾回收-Xmn应该小于-Xmx设置的值
-Xmx是jvm在系统中获得最大内存,从而限制了java堆的大小
------------------
在jvm中有两个gc进程在运行,一个是轻量级进程生成堆;一个是全gc进程在内存不足的情况下释放堆
生成堆的数量是通过-Xmn来设置的;-Xmx减去-Xmn即为旧的堆的数量;一般来说,你不想生成堆太大或者不想保持太长时间,可以通过设置它来调整
每个线程在jvm都会获得一个堆;堆的大小限制了线程的数量,设置太大堆的大小有可能会使内存溢出
-Xss预先设定为1024k,假如堆空间太小,你会发现异常;此外最好设置ulimit -s 2048
ulimit -n 102400
第一个是系统层面对线程栈的限制
第二是对用户文件数的设置
-----------------------
所以有以下建议设置jvm运行空间
-Xms=-Xmx为系统内存(不包括swap)的四分之一
多实例情况下最大为二分之一按预期并发数做调整
-Xmn为-Xmx的四分之一
-Xss可以设置128k一般是够用的可以适当调大
------------------------
-Xms含义是初始java堆的大小
-Xmx含义是最大java堆的大小
-Xmn含义是新生成堆的大小
-Xss每个线程堆的大小

手把手教你学 Simulink (1.3)--Simulink 的模块库及其模块介绍 Simulink 提供了丰富的模块库,涵盖了从基本的信号生成和处理到复杂的数学运算和系统建模的各种功能。通过熟悉这些模块库及其模块,你可以更高效地构建和仿真动态系统。 阅读详情

相关推荐

从仿真到实战:PMOS缓启动与栅极泄放电路的优化设计

本文深入探讨了PMOS缓启动与栅极泄放电路的优化设计,通过立创EDA仿真和实物调试,解决了关断速度慢和耐压问题。文章详细介绍了电路改进方案和低功耗优化技巧,为工程师提供了实用的工程实践建议,帮助提升电源开关电路的性能和可靠性。

weixin_28721917的博客 260

Resin 中 jvm 内存设置

resin3.0 及前期版本内存设置, 如下:   unix>  bin/httpd.sh -Xmn100M -Xms500M -Xmx500Mwin>   bin/httpd.exe -Xmn100M -Xms500M -Xmx500Minstall win service> bin/httpd.exe -Xmn100M -Xms500M -Xmx500M -install -...

漫漫长路,憩息港湾.(深水鱼) 446

【网络安全】Centos7安装杀毒软件----ClamAV

Clam AntiVirus是一个Linux系统上使用的反病毒软件包。主要应用于邮件服务器,采用多线程后台操作,可以自动升级病毒库。

你在看屏幕的同时,屏幕也在注视着你 8828

resin JVM配置说明

resin的JVM參數調整<!-- - JVM 参数设置 --><jvm-arg>-Xms 2048 m</jvm-arg>( jvm 最小内存,也是启动 resin后的默认内存分配值)<jvm-arg>-Xmx 2048 m</jvm-arg> <!-- make ms=mx to reduce GC tim...

weixin_34006965的博客 489

立创开源TinyAWG:基于ZYNQ7010的35MHz带宽200MSa/s任意波形发生器设计与实现

本文详细解析了立创开源TinyAWG的设计与实现,这是一款基于ZYNQ7010芯片的低成本高性能任意波形发生器。项目实现了35MHz带宽和200MSa/s采样率,核心采用ARM+FPGA协同架构,FPGA负责高速DDS信号生成,ARM运行Linux并搭载LVGL图形界面。文章涵盖了硬件选型、电路设计、软件逻辑及性能测试,为复刻和学习ZYNQ系统设计、高速DAC应用提供了完整参考。

weixin_42576467的博客 433

手把手教你用STM32标准库写一个能OTA升级的Bootloader(附完整代码)

本文详细介绍了如何使用STM32标准库开发支持OTA无线升级的Bootloader系统,包括Flash分区规划、Bootloader核心实现、无线升级流程及安全校验机制。通过实战代码示例,帮助开发者快速掌握STM32固件升级技术,提升物联网设备的远程维护能力。

weixin_30181209的博客 262

JVM 各种参数配置大全详细

java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5 -XX:GCTimeRatio=19 -Xnoclassgc -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkS.

蔡定努 2566

矢量网络分析仪校准:原理、方法与系统适配性

矢量网络分析仪(VNA)校准是射频测量的关键环节,通过误差建模(12项误差项)和标准件测量,可将系统不确定度从±5dB降至±0.1dB以下。主流校准方法包括SOLT(适用于同轴系统)和TRL(适用于波导系统),二者在标准件、误差重点及频率上限等方面存在显著差异。随着6G与量子通信的发展,动态实时校准将成为新趋势。工程师需根据传输结构、频率范围及精度需求选择合适方法,确保测量精度。

u014344410的博客 262

JVM——生产环境调优场景

本文将介绍常见生产环境下JVM的调优的场景与解决方案。供大家在日常的工作中学习和参考。例如, 一个15万PV/天左右的在线文档类型网站最近更换了硬件系统, 新的硬件为4个CPU、 16GB物理内存, 操作系统为64位CentOS 5.4, Resin作为Web服务器。 整个服务器暂时没有部署别的应用, 所有硬件资源都可以提供给这访问量并不算太大的网站使用。 管理员为了尽量利用硬件资源选用了64位的JDK 1.5, 并通过-Xmx和-Xms参数将Java堆固定在12GB。使用一段时间后发现使用效果并不理想,

庄小焱 860

【CT/电镜 重建教程 1.1】层析成像的精确实空间迭代重建算法(RESIRE)

在此,我们报告了RESIRE算法的发展用于准确的断层重建。与实空间迭代算法相比,RESIRE使用傅里叶切片定理或Radon变换作为正向投影,使用线性变换作为反向投影,两者都具有高精度。与EST和GENFIRE相比,RESIRE是一种实空间迭代算法,可以在并行计算中实现快速运行时间。

2401_87064292的博客 1062

Spark Catalog详解

旁边的实习生说:我想要用spark代码中对hive库中的内部表和外部表进行删除(包括数据),咋感觉网上搜了一圈都找不到解决方案啊,spark这么鸡肋吗?我:你应该静下心来好好把spark基础知识进行全面学习。实习生:难道spark有这功能,而我没有学习过?咋弄啊?我:学习一下Spark Catalog。实习生:啥是Catalog啊?Spark Catalog是Spark SQL中的一个元数据管理组件,它提供了一个集中化的存储和查询表、视图和函数的位置。

SunnyRivers 1814

Resin调优(JVM,性能参数,apache集成)

一、resin性参监控 1.在resin.conf文件下加入以下几段: <servlet-mapping servlet-class='com.caucho.servlets.ResinStatusServlet'> <url-pattern>/resin-status</url-pattern> <...

weixin_33804582的博客 447

电磁场仿真:电磁场基础理论_(13).微波技术基础

微波是指频率在300 MHz到300 GHz之间的电磁波。这一频率范围对应的波长为1米到1毫米。

2401_87715305的博客 1318

Resin中JVM内存设置

unix>  bin/httpd.sh -Xmn100M -Xms500M -Xmx500Mwin>   bin/httpd.exe -Xmn100M -Xms500M -Xmx500Minstall win service> bin/httpd.exe -Xmn100M -Xms500M -Xmx500M -install -Xss1m. 在linux /unix 下或编辑 httpd.

user4570的专栏 3601

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

resin命令增加删除服务及JVM内存设置

安装resin服务 在resin目录下:httpd.exe -install-as 服务名 --Xms512m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m 其中,-Xms 表示启动时,初时内存大小,-Xmx最大内存占用大小。 -XX:MaxNewSize=256m -XX:MaxPermSize=256m 表示:内存的永久保存区域的大小

一步一步学习C/C++;一步一步深入了解linux 2113

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

内存溢出OutOfMemoryError

这是一个老生常谈的问题,至于这种异常产生的原因无外乎几种:JVM内存设置太小、内存泄漏、死循环和无限递归等。 一、常见问题类型的原因及解决方法 1. tomcat:java.lang.OutOfMemoryError: PermGen space 问题类型: PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要...

帝都的雁的博客 438

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Resin 3.1.x 有关JVM的设置

Resin 3.1.x 有关JVM的设置 Resin 2.x是在启动脚本里面设置jvm参数,3.1.x版本是在resin.conf中设置(我使用的是JDK 1.6.0_02): - The JVM arguments-->-Xmx800m-Xms800m-XX:PermSize=64m-XX:MaxNewSize=256m-XX:MaxPermSize=128m-Xss1m-Xdebug-Dcom

yumingxian2020的专栏 1459

resin设置jvm启动参数

在resin.xml的 后面加上     -Xms4096m     -Xmx2048m     -Xmn1024m     -XX:PermSize=1048m     -XX:MaxPermSize=2000m     1024     30s     512     60s

u011700281的专栏 3890

resin设置jvm参数

http://www.quiee.com.cn/archives/592/resin resin3.0及前期版本内存设置,如下: 启动时设置虚拟内存: unix>bin/httpd.sh-Xmn100M-Xms500M-Xmx500Mwin>bin/httpd.exe-Xmn100M-Xms500M-Xmx500Minstallwinservice&...

weixin_30510153的博客 349

Resin配置优化

<br />  Resin配置优化<br />1.  Resin安装及自启动设置<br />    创建开机自动启动<br />cp contrib/init.resin /etc/rc.d/init.d/resin<br />vi /etc/rc.d/init.d/resin<br />设置正确的路径<br />JAVA_HOME=/usr/local/jdk1.6.0_13<br />RESIN_HOME=/usr/local/resin-3.1.8<br /> <br />赋予可执行权限<br />c

ndcs_dhf2008的专栏 7145

resin设置权限_如何配置resin 3.1.9

展开全部Resin配置优化1. Resin安装及自启动设置创建开机自动启动cp contrib/init.resin /etc/rc.d/init.d/resinvi /etc/rc.d/init.d/resin设置正确的路径JAVA_HOME=/usr/local/jdk1.6.0_13RESIN_HOME=/usr/local/resin-3.1.8赋予可执行权限chmod +x /etc/...

weixin_39635314的博客 274

Resin服务器配置指南

Resin服务器配置指南 resin虚拟内存设置 文章分类:Java编程 show grants for root@localhost; 说明 RESIN_HOME - 表示resin的安装目录 -Xms512m  - 表示初始占用内存512MB -Xm

ynztpwl的专栏 760

润乾——五种常用web服务器jvm参数设置

一、tomcat Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。有以下几种方法可以选用: 第一种方法:在配置文件中设置 Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置: JAVA_OPTS=’-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】‘ 

贾志远的专栏 1252

[转帖]Resin 3.x 经验总结

1.[转帖]Resin 3.x 经验总结Copy to clipboardPosted by: ahaoxiePosted on: 2008-09-16 14:09这两天正好项目刚刚完成,所以就好好的研究了下Resin。我用的Resin版本是3.0.19,中间遇到一些常见的问题,但是网上大多数的资料都是1.x或2.x的,在3.x中是不能使用的,所以查到解决的办法不是

donsunyang的专栏 599

Resin中设置Java虚拟机内存

说明 RESIN_HOME - 表示resin的安装目录-Xms512m  - 表示初始占用内存512MB-Xmx1024m - 表示最在可占用内存1024MB Resin 3.0.x Linux下 修改位置:RESIN_HOME\bin\httpd.sh 文件中找到 args= 这行,修改成args="-J-server -Xms512m -Xmx1024m"设置JAVA虚拟机的内存使用量。 ...

java学习者 274

resin优化经验

2008-02-19 17:03 Resin Threads Resin will automatically allocate and free threads as the load requires. Since the threads are pooled, Resin can reuse old threads without the performance penal...

微尘的世界 258
上一篇: keepalied和haproxy的部署及配置
青青轻风
博客等级 码龄16年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值