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,然后重启服务,并查看日志

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

相关推荐
cfm_29142 小时前
单例模式详解
java
我叫张土豆2 小时前
本体论、DDD、SDD、TDD:AI 编程时代的四层认知栈
java·人工智能
白远山2 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
海南java第二人2 小时前
从诞生到回收:JVM对象生命周期与垃圾回收全链路解析
java
SL_staff3 小时前
JVS-Logic:从页面配置工具到企业级业务逻辑中枢的技术演进
java·算法·全栈
DevRay3 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言
forestsea3 小时前
从零构建 Java 智能体 RAG 系统:Milvus 向量数据库实战指南
java·数据库·milvus
lifewange3 小时前
VSCode怎么运行java
java·ide·vscode
用户094248568033 小时前
第10章:OpenJDK异常体系、栈轨迹与错误诊断入门
java·jvm
醉颜凉3 小时前
Java 必看:如何彻底避免 HashMap 多线程死循环问题?
java·开发语言