仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 836|回复: 11
打印 上一主题 下一主题

[学习教程] JAVA网站制作之怎样设置Tomcat的JVM假造机内存巨细

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:16:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点:<Pstyle="TEXT-INDENT:2em">Tomcat自己不克不及间接在盘算机上运转,必要依附于硬件基本之上的操纵体系和一个java假造机。您能够选择本人的必要选择分歧的操纵体系和对应的JDK的版本(只需是切合Sun公布的Java标准的),但我们保举您利用Sun公司公布的JDK。确保您所利用的版本是最新的,由于Sun公司和别的一些公司一向在为进步功能而对java假造机做一些晋级改善。一些呈报显现JDK1.4在功能上比JDK1.3进步了快要10%到20%。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">能够给Java假造机设置利用的内存,可是假如你的选择不合错误的话,假造机不会抵偿。可经由过程命令行的体例改动假造机利用内存的巨细。以下表所示有两个参数用来设置假造机利用内存的巨细。<Pstyle="TEXT-INDENT:2em">参数<Pstyle="TEXT-INDENT:2em">形貌<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">-Xms<Pstyle="TEXT-INDENT:2em">JVM初始化堆的巨细<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">-Xmx<Pstyle="TEXT-INDENT:2em">JVM堆的最年夜值<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">这两个值的巨细一样平常依据必要举行设置。初始化堆的巨细实行了假造机在启动时向体系请求的内存的巨细。一样平常而言,这个参数不主要。可是有的使用程序在年夜负载的情形下会急剧地占用更多的内存,此时这个参数就是显得十分主要,假如假造机启动时设置利用的内存对照小而在这类情形下有很多对象举行初始化,假造机就必需反复地增添内存来满意利用。因为这类缘故原由,我们一样平常把-Xms和-Xmx设为一样年夜,而堆的最年夜值受限于体系利用的物理内存。一样平常利用数据量较年夜的使用程序会利用耐久对象,内存利用有大概敏捷地增加。当使用程序必要的内存超越堆的最年夜值时假造机就会提醒内存溢出,而且招致使用服务溃散。因而一样平常倡议堆的最年夜值设置为可用内存的最年夜值的80%。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">Tomcat默许可使用的内存为128MB,在较年夜型的使用项目中,这点内存是不敷的,必要调年夜。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的后面,增添以下设置:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">JAVA_OPTS=-Xms【初始化内存巨细】-Xmx【可使用的最年夜内存】<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">必要把这个两个参数值调年夜。比方:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">JAVA_OPTS=-Xms256m-Xmx512m<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">暗示初始化内存为256MB,可使用的最年夜内存为512MB。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">别的必要思索的是Java供应的渣滓接纳机制。假造机的堆巨细决意了假造机消费在搜集渣滓上的工夫和频度。搜集渣滓能够承受的速率与使用有关,应当经由过程剖析实践的渣滓搜集的工夫和频次来调剂。假如堆的巨细很年夜,那末完整渣滓搜集就会很慢,可是频度会下降。假如你把堆的巨细和内存的必要分歧,完整搜集就很快,可是会加倍频仍。调剂堆巨细的的目标是最小化渣滓搜集的工夫,以在特定的工夫内最年夜化处置客户的哀求。在基准测试的时分,为包管最好的功能,要把堆的巨细设年夜,包管渣滓搜集不在全部基准测试的过程当中呈现。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">假如体系消费良多的工夫搜集渣滓,请减小堆巨细。一次完整的渣滓搜集应当不凌驾3-5秒。假如渣滓搜集成为瓶颈,那末必要指定代的巨细,反省渣滓搜集的具体输入,研讨渣滓搜集参数对功能的影响。一样平常说来,你应当利用物理内存的80%作为堆巨细。当增添处置器时,记得增添内存,由于分派能够并行举行,而渣滓搜集不是并行的。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">Tomcat5经常使用优化和设置<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">1、JDK内存优化:<Pstyle="TEXT-INDENT:2em">Tomcat默许可使用的内存为128MB,Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{tomcat_home}/bin/catalina.sh的后面,增添以下设置:<Pstyle="TEXT-INDENT:2em">JAVA_OPTS=-Xms[初始化内存巨细]-Xmx[可使用的最年夜内存]<Pstyle="TEXT-INDENT:2em">一样平常说来,你应当利用物理内存的80%作为堆巨细。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">2、毗连器优化:<Pstyle="TEXT-INDENT:2em">在tomcat设置文件server.xml中的设置中,和毗连数相干的参数有:<Pstyle="TEXT-INDENT:2em">maxThreads:<Pstyle="TEXT-INDENT:2em">Tomcat利用线程来处置吸收的每一个哀求。这个值暗示Tomcat可创立的最年夜的线程数。默许值200。<Pstyle="TEXT-INDENT:2em">acceptCount:<Pstyle="TEXT-INDENT:2em">指定当一切可使用的处置哀求的线程数都被利用时,能够放各处理行列中的哀求数,凌驾这个数的哀求将不予处置。默许值10。<Pstyle="TEXT-INDENT:2em">minSpareThreads:<Pstyle="TEXT-INDENT:2em">Tomcat初始化时创立的线程数。默许值4。<Pstyle="TEXT-INDENT:2em">maxSpareThreads:<Pstyle="TEXT-INDENT:2em">一旦创立的线程凌驾这个值,Tomcat就会封闭不再必要的socket线程。默许值50。<Pstyle="TEXT-INDENT:2em">enableLookups:<Pstyle="TEXT-INDENT:2em">是不是反查域名,默许值为true。为了进步处置才能,应设置为false<Pstyle="TEXT-INDENT:2em">connnectionTimeout:<Pstyle="TEXT-INDENT:2em">收集毗连超时,默许值60000,单元:毫秒。设置为0暗示永不超时,如许设置有隐患的。一般可设置为30000毫秒。<Pstyle="TEXT-INDENT:2em">maxKeepAliveRequests:<Pstyle="TEXT-INDENT:2em">坚持哀求数目,默许值100。<Pstyle="TEXT-INDENT:2em">bufferSize:<Pstyle="TEXT-INDENT:2em">输出流缓冲巨细,默许值2048bytes。<Pstyle="TEXT-INDENT:2em">compression:<Pstyle="TEXT-INDENT:2em">紧缩传输,取值on/off/force,默许值off。<Pstyle="TEXT-INDENT:2em">个中和最年夜毗连数相干的参数为maxThreads和acceptCount。假如要加年夜并发毗连数,应同时加年夜这两个参数。webserver同意的最年夜毗连数还受制于操纵体系的内核参数设置,一般Windows是2000个摆布,Linux是1000个摆布。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">3、tomcat中怎样克制和同意列目次下的文件<Pstyle="TEXT-INDENT:2em">在{tomcat_home}/conf/web.xml中,把listings参数设置成false便可,以下:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">
  1. <servlet>...<init-param><param-name>listings</param-name><param-value>false</param-value></init-param>...</servlet>4、tomcat中怎样克制和同意主机或IP地点会见<Hostname="localhost"...>...<ValveclassName="org.apache.catalina.valves.RemoteHostValve"allow="*.mycompany.com,www.yourcompany.com"/><ValveclassName="org.apache.catalina.valves.RemoteAddrValve"deny="192.168.1.*"/>...</Host>
复制代码
<Pstyle="TEXT-INDENT:2em">这是我们服务器的设置,详细文件不克不及给你,由于触及到公司秘密,以是那一行我给你,我拷贝上去了JAVA_OPTS=-server-Xms512m-Xmx768m-XX:NewSize=128m-XX:MaxNewSize=192m-XX:SurvivorRatio=8

为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-20 19:10:06 来自手机 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
爱飞 该用户已被删除
板凳
发表于 2015-1-25 20:54:38 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-2 22:05:59 | 只看该作者
是一种突破用户端机器环境和CPU
兰色精灵 该用户已被删除
5#
发表于 2015-2-8 09:09:10 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
蒙在股里 该用户已被删除
6#
发表于 2015-2-8 20:59:15 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
莫相离 该用户已被删除
7#
发表于 2015-2-9 21:12:52 | 只看该作者
是一种突破用户端机器环境和CPU
老尸 该用户已被删除
8#
发表于 2015-2-12 00:52:56 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
飘飘悠悠 该用户已被删除
9#
发表于 2015-2-26 09:16:08 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
因胸联盟 该用户已被删除
10#
发表于 2015-3-7 00:53:25 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
金色的骷髅 该用户已被删除
11#
发表于 2015-3-13 06:07:08 | 只看该作者
是一种为 Internet发展的计算机语言
再现理想 该用户已被删除
12#
发表于 2015-3-20 13:54:49 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 05:11

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表