问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何设定tomcat启动时jvm内存大小

发布网友 发布时间:2022-04-19 13:45

我来回答

4个回答

热心网友 时间:2022-04-14 08:06

可以给Java虚拟机设置使用的内存,但是如果你的选择不对的话,虚拟机不会补偿。可通过命令行的方式改变虚拟机使用内存的大小。如下表所示有两个参数用来设置虚拟机使用内存的大小。
参数
描述
-Xms
JVM初始化堆的大小
-Xmx
JVM堆的最大值
这两个值的大小一般根据需要进行设置。初始化堆的大小执行了虚拟机在启动时向系统申请的内存的大小。一般而言,这个参数不重要。但是有的应用程序在大负载的情况下会急剧地占用更多的内存,此时这个参数就是显得非常重要,如果虚拟机启动时设置使用的内存比较小而在这种情况下有许多对象进行初始化,虚拟机就必须重复地增加内存来满足使用。由于这种原因,我们一般把-Xms和-Xmx设为一样大,而堆的最大值受限于系统使用的物理内存。一般使用数据量较大的应用程序会使用持久对象,内存使用有可能迅速地增长。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。
Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。
Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:
JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'
需要把这个两个参数值调大。例如:
JAVA_OPTS='-Xms256m -Xmx512m'
表示初始化内存为256MB,可以使用的最大内存为512MB。
另外需要考虑的是Java提供的垃圾回收机制。虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频度。收集垃圾可以接受的速度与应用有关,应该通过分析实际的垃圾收集的时间和频率来调整。如果堆的大小很大,那么完全垃圾收集就会很慢,但是频度会降低。如果你把堆的大小和内存的需要一致,完全收集就很快,但是会更加频繁。调整堆大小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求。在基准测试的时候,为保证最好的性能,要把堆的大小设大,保证垃圾收集不在整个基准测试的过程中出现。
如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不超过 3-5 秒。如果垃圾收集成为瓶颈,那么需要指定代的大小,检查垃圾收集的详细输出,研究 垃圾收集参数对性能的影响。一般说来,你应该使用物理内存的 80% 作为堆大小。当增加处理器时,记得增加内存,因为分配可以并行进行,而垃圾收集不是并行的。
Tomcat 5常用优化和配置
1、JDK内存优化:
Tomcat默认可以使用的内存为128MB,Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{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就会关闭不再需要的socket线程。默认值75。
enableLookups:
是否反查域名,默认值为true。为了提高处理能力,应设置为false
connnectionTimeout:
网络连接超时,默认值60000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
maxKeepAliveRequests:
保持请求数量,默认值100。
bufferSize:
输入流缓冲大小,默认值2048 bytes。
compression:
压缩传输,取值on/off/force,默认值off。
其中和最大连接数相关的参数为maxThreads和acceptCount。如果要加大并发连接数,应同时加大这两个参数。web server允许的最大连接数还受制于*作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。
3、tomcat中如何禁止和允许列目录下的文件
在{tomcat_home}/conf/web.xml中,把listings参数设置成false即可,如下:
<servlet>
...
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
...
</servlet>
4、tomcat中如何禁止和允许主机或IP地址访问
<Host name="localhost" ...>
...
<Valve className="org.apache.catalina.valves.RemoteHostValve"
allow="*.mycompany.com,www.yourcompany.com"/>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
deny="192.168.1.*"/>
...
</Host>
服务器的配置
JAVA_OPTS='-server -Xms512m -Xmx768m -XX:NewSize=128m -XX:MaxNewSize=192m -XX:SurvivorRatio=8'

热心网友 时间:2022-04-14 09:24

1 通过ide,如myclipse,添加tomcat服务器,在servers-tomcat-jdk 中的“optional java vm 阿rguments”中填写!
2 在tomcat的安装目录bin/catalina.sh中添加配置文件;

参数如下:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX: NewSize=192m -XX:MaxNewSize=384m"
CATALINA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:NewSize=192m -XX:MaxNewSize=384m"

热心网友 时间:2022-04-14 10:59

有两种方式:

1、通过ide,如myclipse,添加tomcat服务器,在servers-tomcat-jdk 中的“optional java vm 阿rguments”中填写。
2、在tomcat的安装目录bin/catalina.sh中添加配置文件;

参数如下:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX: NewSize=192m -XX:MaxNewSize=384m"
CATALINA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:NewSize=192m -XX:MaxNewSize=384m"

热心网友 时间:2022-04-14 12:50

有两种方式:

1 通过ide,如myclipse,添加tomcat服务器,在servers-tomcat-jdk 中的“optional java vm 阿rguments”中填写!
2 在tomcat的安装目录bin/catalina.sh中添加配置文件;

参数如下:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX: NewSize=192m -XX:MaxNewSize=384m"
CATALINA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:NewSize=192m -XX:MaxNewSize=384m"
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
南安椎间盘突出症的症状,悬壶邱腰神在陕西哪里 安康腰椎间盘突出一条腿麻保守治疗的方法,悬壶邱大夫的详细位置_百度知 ... 宣传片拍摄有哪些长处? 继承房产过户费用要多少? 继承5万房产过户需要多少费用多少钱 继承的房产过户需要多少费用 继承5万房产过户需要多少费用 灵芝茶减肥效果怎么样 南京滴滴和t3哪个收入多 属虎女人的和属鸡男人的配吗 怎么设置eclipse 的jvm大小 在一台服务器上面,JVM可以分配到的最大内存是多少 求教修改JVM内存大小? JVM内存最大能调多大分析 请教JVM内存堆大小的问题 JVM内存最大能调多大 如何修改jvm内存 内存设置过大 JVM内存一般设成多大的 jvm默认多大的对象是大对象 hadoop中个角色JVM的默认内存大小是? 怎样修改JVM的默认内存大小值 jvm 默认栈内存大小 电脑酷狗直播怎么打字聊天 酷狗繁星主播不开播手机用户可以进入直播室吗? 在酷狗里进入别人的直播间,如何把自己的名字改掉 为什么我的手机酷狗音乐没有直播 酷狗繁星怎样可以进入直播间 怎样上酷狗音乐上的直播,当主播?? 电脑如何进酷狗直播间听歌 酷狗直播怎么看明星线上演唱会 配置jvm运行时正常占用内存有多大 JAVA虚拟机的最大堆大小如何设置? jvm 线程 占用多少堆内存 如何调整java虚拟机内存大小 如何查看GC 及jvm配置 jvm的内存如何管理 有哪些可以录制视频的软件? 有什么录制视频软件比较好用的 电脑录制视频软件哪个好? 用什么软件录制视频画质比较清晰 求问,手机录制视频应该用哪个软件好啊? 用什么软件录视频最高清? 视频录制软件有哪些 免费的高清录屏软件 高清免费的屏幕录制软件 有什么软件可以录制超清视频, 求推荐一款免费的高清录屏软件 视频录制软件app 谁给我推荐一款免费高清的视频录制软件 高清桌面录制视频软件哪个好?