我的服务器配置:
#特定于操作系统的支持。 $ var _must_必须设置为true或false。
JAVA_OPTS =“-Xms1024m -Xmx4096m -Xss1024K -XX:PermSize = 512m -XX:MaxPermSize = 2048m”
身体:
有两种常见的内存溢出:
java.lang.OutOfMemoryError:PermGen空间
java.lang.OutOfMemoryError:Java堆空间
--------------------------------------------------- ----------
以tomcat环境为例。其他Web服务器,例如jboss,weblogic等,都是相同的。
一、java.lang.OutOfMemoryError:PermGen空间
PermGen空间的全称是Permanent Generation空间,是指内存的永久存储区域,
此内存主要用于由JVM存储类和元信息。当类是Loader时,它将放置在PermGen空间中。
它与存储类的实例(实例)的堆区域不同,并且在主程序运行时将不检查GC(垃圾收集)。
PermGen空间已清理完毕,因此,如果您的应用程序中有许多CLASS,则可能会发生PermGen空间错误,
当Web服务器预编译JSP时,这种错误很常见。如果您在WEB APP下使用大量第三方jar,则其大小
超过默认的jvm(4M)大小,将生成此错误消息。
解决方案:手动设置MaxPermSize大小
建议:将相同的第三方jar文件移动到tomcat / shared / lib目录中,以减少jar文件的重复内存使用。
二、java.lang.OutOfMemoryError:Java堆空间

JVM堆的设置是指Java程序运行期间JVM可以分配和使用的内存空间的设置。 JVM将在启动时自动设置Heap size的值。
初始空间(-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。您可以使用JVM提供的-Xmn -Xms -Xmx之类的选项
进行设置。堆大小是年轻一代和终身一代的总和。
提醒:如果98%的时间用于GC,并且在JVM中可用的Heap大小小于2%,则会抛出此异常消息。
提醒:堆大小不应超过可用物理内存的80%。通常,-Xms和-Xmx选项应设置为相同,并且-Xmn是-Xmx值的1/4。
解决方案:手动设置堆大小
--------------------------------------------------- -----------
在Linux下修改JVM内存大小:
要在cygwin = false之前在tomcat bin下添加catalina.sh。注意引号,红色是新添加的。
#特定于操作系统的支持。 $ var _must_必须设置为true或false。
JAVA_OPTS =“-Xms256m -Xmx512m -Xss1024K -XX:PermSize = 128m -XX:MaxPermSize = 256m”
cygwin = false
在Windows下修改JVM内存大小:
方案1:Tomcat的解压缩版本,必须通过startup.bat启动Tomcat才能加载配置
要添加到tomcat bin下的catalina.bat
rem Guess CATALINA_HOME(如果未定义)
set CURRENT_DIR =%cd%添加之后,新添加红色。

set JAVA_OPTS = -Xms256m -Xmx512m -XX:PermSize = 128M -XX:MaxNewSize = 256m -XX:MaxPermSize = 256m -Djava.awt.headless = true
情况2:已安装的Tomcat下没有catalina.bat
Windows服务执行bin / tomcat.exe。它读取注册表中的值,而不是catalina.bat的设置。
修改注册表HKEY_LOCAL_MACHINE / SOFTWARE / Apache Software Foundation / TomcatService Manager / Tomcat5 / Parameters / JavaOptions
原始值
-Dcatalina.home =“ C:/ ApacheGroup / Tomcat5.0”
-Djava.endorsed.dirs =“ C:/ ApacheGroup / Tomcat5.0 / common / endorsed”
-Xrs
加入-Xms300m -Xmx350m
重新启动tomcat服务,设置将生效
--------------------------------------------------- ----------
每个参数的比例:
Xmx和PermSize的总和不能超过JVM可用的总内存
PermSize不能大于Xmx
================
如何设置Tomcat的JVM虚拟机的内存大小
您可以设置Java虚拟机使用的内存,但是如果选择错误,虚拟机将无法补偿。可以通过命令行更改虚拟机使用的内存大小。如下表所示,有两个参数用于设置虚拟机使用的内存大小。

参数
说明
-Xms
JVM初始化堆大小
-Xmx
最大JVM堆
这两个值的大小通常根据需要设置。初始化堆的大小实现了虚拟机启动时应用于系统的内存大小。一般来说,此参数并不重要。但是,某些应用程序在高负载下会大量占用更多内存。此参数此时非常重要。如果在启动虚拟机时将虚拟机使用的内存设置为相对较小,则在这种情况下会有很多对象。初始化时,虚拟机必须反复增加内存才能满足使用要求。因此,我们通常将-Xms和-Xmx设置为相同的大小,并且最大堆大小受系统使用的物理内存限制。通常,使用大量数据的应用程序将使用持久对象,并且内存使用量可能会迅速增长。当应用程序所需的内存超过最大堆大小时,虚拟机将提示内存溢出并导致应用程序服务崩溃。因此,通常建议将堆的最大值设置为可用内存的最大值的80%。
Tomcat可以默认使用的内存为128MB。在较大的应用程序中,此内存不足,需要增加。
在Windows下,在Unix下,在文件/bin/catalina.bat中,在文件/bin/catalina.sh前面,添加以下设置:
JAVA_OPTS ='-Xms [初始内存大小] -Xmx [可使用的最大内存]'
您需要增加这两个参数的值。例如:
JAVA_OPTS ='-Xms256m -Xmx512m'
表示初始内存为256MB,可以使用的最大内存为512MB。
另一个要考虑的是Java提供的垃圾收集机制。虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频率。垃圾收集的可接受速度取决于应用程序,应通过分析实际垃圾收集的时间和频率进行调整。如果堆大小很大,那么完整的垃圾回收将很慢,但是频率会降低。如果使堆大小与内存要求一致,则完整收集会很快,但是会更加频繁。调整堆大小的目的是最大程度地减少垃圾收集时间,以便在特定时间内最大程度地处理客户请求。在基准测试中,为了确保最佳性能,应将堆大小设置为较大,以确保在整个基准测试期间不会进行垃圾回收。
如果系统花费大量时间收集垃圾,请减小堆大小。完整的垃圾收集不应超过3-5秒。如果垃圾收集成为瓶颈,则需要指定生成大小,检查垃圾收集的详细输出,并研究垃圾收集参数对性能的影响。通常,应将80%的物理内存用作堆大小。添加处理器时,请记住要增加内存,因为分配可以并行进行,并且垃圾回收不是并行的。
Tomcat 5常用的优化和配置
1、JDK内存优化:

Tomcat可以默认使用的内存为128MB。在Windows下,在Unix下,在文件{tomcat_home} /bin/catalina.bat中,在文件{tomcat_home} /bin/catalina.sh之前添加以下设置:
JAVA_OPTS ='-Xms [初始内存大小] -Xmx [可使用的最大内存]
通常来说,应将80%的物理内存用作堆大小。
2、连接器优化:
在tomcat配置文件server.xml中的配置中,与连接数有关的参数为:
maxThreads:
Tomcat使用线程来处理它收到的每个请求。该值表示Tomcat可以创建的最大线程数。默认值为150。
acceptCount:
指定使用所有可用于处理请求的线程时可以放置在处理队列中的请求数。超过此数量的请求将不被处理。默认值为10。
minSpareThreads:
初始化Tomcat时创建的线程数。默认值为25。
maxSpareThreads:
一旦创建的线程超过该值,Tomcat将关闭不再需要的套接字线程。默认值为75。
enableLookups:
是否反向检查域名,默认值为true。为了提高处理能力,应将其设置为false
连接超时:
网络连接超时,默认值为60000,单位:毫秒。将其设置为0表示永远不会超时。此设置有潜在危险。通常可以设置为30000毫秒。

maxKeepAliveRequests:
保留请求数,默认值为100。
bufferSize:
输入流缓冲区大小,默认值为2048字节。
压缩:
压缩传输,值为on / off / force,默认值为off。
与最大连接数有关的参数是maxThreads和acceptCount。如果要增加并发连接数,则应同时增加这两个参数。 Web服务器允许的最大连接数也受操作系统内核参数设置的限制,对于Windows,通常约为2000,对于Linux,通常约为1000。
3、如何禁止和允许tomcat目录中的文件
在{tomcat_home} /conf/web.xml中,将listings参数设置为false,如下所示:
...
列表
false
...
4、如何禁止和允许在tomcat中访问主机或IP地址
...
allow =“ *。,” />
deny =“ 192.168.1.*” />
...
服务器配置
JAVA_OPTS ='-服务器-Xms512m -Xmx768m -XX:NewSize = 128m -XX:MaxNewSize = 192m -XX:SurvivorRatio = 8'
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-350031-1.html
导弹
靠上市变成亿万富翁多得去了