查看内存
1.使用JDK工具查看
1.1工具路径
{javajdk安装目录}/bin/jvisualvm.exe
1.2打开工具
双击需查看的虚拟机后点击监视
1.3查看内存大小
Ps:程序显示的单位为字节,可除两次1024转成MB单位显示
最大:代表程序最大可以从操作系统中获取的内存数量
大小:代表程序启动的时候从操作系统中获取的内存数量
已使用:代表程序已使用的内存
2.使用JDK命令行工具查看
2.1查看java进程pid
ps:只能显示当前用户的进程id
2.2 查看内存信息
jmap –heap [pid]
ps: 查看MaxHeapSize最大堆空间大小
Heap Configuration: ##堆配置情况
MinHeapFreeRatio = 40 ##最小堆使用比例
MaxHeapFreeRatio = 70 ##最大堆可用比例
MaxHeapSize = 2147483648 (2048.0MB) ##最大堆空间大小
NewSize = 268435456 (256.0MB) ##新生代分配大小
MaxNewSize = 268435456 (256.0MB) ##最大可新生代分配大小
OldSize = 5439488 (5.1875MB) ##老生代大小
NewRatio = 2 ##新生代比例
SurvivorRatio = 8 ##新生代与suvivor的比例
PermSize = 134217728 (128.0MB) ##perm区大小
MaxPermSize = 134217728 (128.0MB) ##最大可分配perm区大小
3.以服务方式查看
3.1确认服务目录webapps下有manager应用(此应用为安装tomcat后自带应用)
3.2修改tomcat配置文件
修改tomcat配置文件tomcat安装目录/conf/tomcat-users.xml
在标签里添加以下内容(账号和密码设为admin)
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
3.3查看内存
浏览器输入:http://IP:port/manager/status 帐号/密码:admin/admin
查看内存使用情况
Free memory:当前可用的内存
Total memory:当前已经分配的JVM内存
Max memory:当前允许分配的最大JVM内存
修改内存设置
1.使用tomcat提供的gui工具来设置内存参数
1.1打开gui工具
打开cmd命令提示符进入到tomcat安装目录下的bin目录下,在命令行下执行:Tomcat8w.exe //ES/Tomcat85
其中,Tomcat85是tomcat服务的名称。这样,在windows的任务栏就会出现一个tomcat的服务管理器
如图:
1.2打开tomcat服务管理器的java页,如图:
1.3设置内存
Initial memory pool这个就是初始化设置的内存的大小。
Maximum memory pool这个是最大内存的大小
设置好后,点击应用然后点击确定退出,之后重启tomcat
ps:
1.初始化堆内存和非堆内存应不大于最大堆内存和非堆内存,不低于1G
2.最大堆内存和非堆内存最好不小于物理内存的四分之一,不大于物理内存的二分之一
3.最大堆内存和非堆内存不能超过物理内存
4初始内存和最大内存大小应接近
1.4重启tomcat
打开任务管理器,点击服务,找到tomcat85服务,右键重新启动