当前位置: 代码迷 >> 高性能WEB开发 >> tomcat的jvm设置和window的虚拟内存有关?该怎么处理
  详细解决方案

tomcat的jvm设置和window的虚拟内存有关?该怎么处理

热度:223   发布时间:2012-03-28 15:40:03.0
tomcat的jvm设置和window的虚拟内存有关?
看到网上一篇文章这样说的
1,编辑%CATALINA_HOME%\bin下面的catalina.bat文件,在最上面第一行前面写上
set JAVA_OPTS=-Xms512m -Xmx1024m
其中-Xms表示jvm最小内存数,-Xmx表示最大内存数
比如我这里都设置成最小512,最大1024
当然,这个最小最大并不是只能使用1024的意思,其实这个设置是对系统来设置的,因为这个jvm占用内存数实际上是针对虚拟内存来说,这个设置表示,无 论系统怎么占用虚拟内存,都要保证最小512M的虚拟内存共给jvm使用,当然,就算我jvm占用再大,也不会超过1024,来威胁系统的内存使用

注意红色部分:我的疑问是这里设置的jvm堆大小是对windows的虚拟内存说的吗?比如我的物理内存还有10个G,tomcat启动的时候依然去windows的虚拟内存中划他需要的空间吗?这是为什么?

------解决方案--------------------
jvm表示java虚拟机,-Xms表示jvm最小内存数,-Xmx表示最大内存数
Xms表示分配给虚拟机的最小内存,Xmx表示分配给虚拟机的最大内存。一般都有一个设置原则的,例如最小内存设置为物理内存的1/4,最大内存设置为物理内存的1/2,当然还要看服务器的实际情况。是否有其他耗费内存的应用,例如Oracle等,也要参考web服务器的使用场景。

如果你的物理内存只有2G,你的最小内存设置为2G的话,你会发现,系统会很慢,因为web服务器会跟操作系统要内存,操作系统就要频繁发生内存缺页中断,频繁地将内存的数据换到操作系统的虚拟内存中,就是pagefile中。 阿捷
------解决方案--------------------
jvm表示java虚拟机,-Xms表示jvm最小内存数,-Xmx表示最大内存数
Xms表示分配给虚拟机的最小内存,Xmx表示分配给虚拟机的最大内存。一般都有一个设置原则的,例如最小内存设置为物理内存的1/4,最大内存设置为物理内存的1/2,当然还要看服务器的实际情况。是否有其他耗费内存的应用,例如Oracle等,也要参考web服务器的使用场景。

如果你的物理内存只有2G,你的最小内存设置为2G的话,你会发现,系统会很慢,因为web服务器会跟操作系统要内存,操作系统就要频繁发生内存缺页中断,频繁地将内存的数据换到操作系统的虚拟内存中,就是 pagefile中。
  相关解决方案