JVM--Java Virtual Machine,Java虛擬機;tomcat不是直接運行在物理操作系統上,而是運行在Java虛擬機上,通常說的配置jvm就是配置分配給Java虛擬機的內存大小;
如果使用vmware或virtualbox那么給虛擬機分配內存那是很好理解的,可以理解成jvm這個虛擬機就運行tomcat一個進程,所有jvm的內存全給tomcat使用。
一、查看當前配置的jvm大小
查看jvm大小配置只能到控制台“Server Status”那個頁面去,由於tomcat默認沒有用戶的所以無法登錄控制台,所以我們需要先配置用戶以使能登錄控制台。
1.1配置控制台用戶
編緝$CATALINA_HOME/conf/tomcat-users.xml,在<tomcat-users>標簽內添加以下內容:
<role rolename="manager-gui" /> <role rolename="admin-gui" /> <user username="admin" password="abcd1234" roles="manager-gui,admin-gui" />
1.2查看jvm配置情況
先重啟tomcat使配置的用戶生效,然后輸入用戶名密碼登錄“Server Status”
Free memory--當前分配給jvm的內存中還剩余的內存;Total memory--當前分配給jvm的內存大小;Max memory--最大可分配給jvm的內存大小。
二、修改jvm大小
編緝$CATALINA_HOME/bin/catalina.sh,在最前面(注釋除外)添加:
JAVA_OPTS='-Xms512m -Xmx1024m'
-Xms表示初始分配給jvm的內存大小,-Xmx表示最大可分配給jvm的內存大小,根據自己需要修改。
重啟tomcat使配置生效,然后再登錄“Server Status”,再次查看jvm配置是否生效
三、說明
有些教程說直接添加JAVA_OPTS=-Xms512m -Xmx1024m,也就是沒有單引號,實際測試發現這樣是不生效的
最直接的是使用ps -ef | grep tomcat查看:
JAVA_OPTS=‘-Xms512m -Xmx1024m’結果如上圖所示;可見有配置的jvm參數
JAVA_OPTS=-Xms512m -Xmx1024m結果如上圖所示;可見沒有配置的jvm參數(到server status也確認這樣配置不生效,使用的是tomcat初始默認配置)
參考:
http://blog.csdn.net/zhenzhendeblog/article/details/50518685