linux中tomcat能加大内存吗?

linux中tomcat能加大内存吗?,第1张

Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。

Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:

需要把这个两个参数值调大。例如:

表示初始化内存为256MB,可以使用的最大内存为512MB。

扩展知识:

如何设置Tomcat的JVM虚拟机内存大小

可以给Java虚拟机设置使用的内存,但是如果你的选择不对的话,虚拟机不会补偿。可通过命令行的方式改变虚拟机使用内存的大小。如下表所示有两个参数用来设置虚拟机使用内存的大小。

-Xms JVM初始化堆的大小

-Xmx JVM堆的最大值

这两个值的大小一般根据需要进行设置。初始化堆的大小执行了虚拟机在启动时向系统申请的内存的大小。一般而言,这个参数不重要。但是有的应用程序在大负载的 情况下会急剧地占用更多的内存,此时这个参数就是显得非常重要,如果虚拟机启动时设置使用的内存比较小而在这种情况下有许多对象进行初始化,虚拟机就必须 重复地增加内存来满足使用。由于这种原因,我们一般把-Xms和-Xmx设为一样大,而堆的最大值受限于系统使用的物理内存。

一般使用数据量较大的应用程序会使用持久对象,内存使用有可能迅速地增长。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最 大值设置为可用内存的最大值的80%。

在网上遇到好多坑。。然后我自己的坑并非和他们说的那么弱智的问题,,什么端口占用,,端口占用,我还用问你?

废话不多说:

通过搜索发现是随机数生成问题.解决方案如下

1.在服务器启动时也可以加上参数 -Djava.security.egd=[file:/dev/./urandom](file://dev/urandom)

2.在Tomcat下catalina.sh加入参数:JAVA_OPTS="-Xms1024m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256m -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Djava.security.egd=file:/dev/./urandom"

即可解决!献给新玩Linux学生或者程序员们。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7262901.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存