Windows安装tomcat,以服务的方式管理,如何设置虚拟内存

之前工作中,部署tomcat都是使用Linux服务器,最近遇到个客户,提供的服务器是Windows server,并且需要通过服务的方式管理tomcat;以自己多年的码农经验,感觉应该没有问题,结果啪啪打脸了,遇到的核心问题是配置的虚拟内存没有生效,最终还是解决了,以下问解决方案:

1、环境及软件

Windows server 2016 Datacenter、jdk=1.8.0_181、apache-tomcat-8.5.59-windows-x64.zip

2、配置虚拟内存

jdk安装及环境配置变量、tomcat解压及配置环境变量,这就不过多描述,详细请自行百度。

2.1、使用startup.bat启动

修改bin\catalina.bat文件,在最上面添加这样一句:

set JAVA_OPTS=-Xms256m -Xmx512m

bash 复制代码
@echo off

set JAVA_OPTS=-Xms256m -Xmx512m

rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements.  See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License.  You may obtain a copy of the License at
rem
rem     http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.

启动tomcat,有如下信息,说明虚拟内存设置成功。

2.2、使用服务的方式启动

首先、将tomcat安装成系统服务,打开cmd,使用超级管理员权限,执行命令:service.bat install

打开系统服务,可以看到已经注册成功的tomcat服务

启动服务,并查看日志(位置:logs\catalina.2024-03-26.log)

通过日志发现,我们在catalina.bat文件中,配置的虚拟内存没有生效;解决方案,打开bin\tomcat8w.exe程序(前提条件,必须将tomcat注册成系统服务)

将默认的最小和最大内存调整成256和512,然后重启服务,并查看日志

到这里,核心问题就解决了

相关推荐
海边的Kurisu44 分钟前
苍穹外卖日记 | Day1 苍穹外卖概述、开发环境搭建、接口文档
java
C雨后彩虹4 小时前
任务最优调度
java·数据结构·算法·华为·面试
heartbeat..4 小时前
Spring AOP 全面详解(通俗易懂 + 核心知识点 + 完整案例)
java·数据库·spring·aop
Jing_jing_X4 小时前
AI分析不同阶层思维 二:Spring 的事务在什么情况下会失效?
java·spring·架构·提升·薪资
元Y亨H6 小时前
Nacos - 服务发现
java·微服务
微露清风6 小时前
系统性学习C++-第十八讲-封装红黑树实现myset与mymap
java·c++·学习
dasi02276 小时前
Java趣闻
java
阿波罗尼亚7 小时前
Tcp SSE Utils
android·java·tcp/ip
susu10830189117 小时前
springboot3.5.8整合minio8.5.9
java·springboot
不知道累,只知道类8 小时前
深入理解 Java 虚拟线程 (Project Loom)
java·开发语言