医院电脑上免安装版的tomcat,启动后会打开一个cmd窗口,由于不是专用服务器,经常有其他人使用该电脑,
误关闭tomcat 运行的cmd窗口,或者电脑重启了 没开启tomcat服务
所以想着注册为服务,设置该tomcat服务开机启动
需要注意的是设置为服务后是后台运行,和linux一样 启动后不会在用cmd窗口,
可以在服务中查看是否启动
注意的是设置为服务后 jvisualvm.exe 默认是监听不到该tomcat的,而且catalina.bat配置的内存也不生效
目录
2.1 cd到tomcat bin目录 执行service.bat install [bsoftTomcat8088]
tomcat bin目录执行即可 service.bat remove [bsoftTomcat8088]
三.配置tomcat 能被jvisualvm.exe监听到 ,配置tomcat内存
3.3 点击apache图标 配置tomcat jmx端口 配置堆内存
3.4配置好之后服务中启动tomcat,或者直接切换到general启动 ,应该都是同步的
3.7添加后查看 配置的堆内存已经生效了,但是没有配置P区内存的地方
3.8 Java Options配置P区(PermSize)内存
3.9 设置完成后重启tomcat服务,查看内存配置是否生效
五.关于tomcat startup.bat启动时和服务启动时 内存配置区别
5.1 查看设置服务的启动日志,打印出的堆内存为128-256
一.环境检查
我这边tomcat是免安装版本的,jdk和tomcat版本要匹配或者兼容 如jdk1.8 也是兼容tomca7
我这边jdk是1.7 64位
tomcat为 tomcat7 64位
首先保证环境正确 tomcat直接 双击startup.bat能够启动
二 .把该tomcat安装为window服务
2.1 cd到tomcat bin目录 执行service.bat install [bsoftTomcat8088]
[bsoftTomcat8088] 为自定义的服务名, 直接执行service.bat install 则使用默认的服务名
service.bat install [bsoftTomcat8088]
选择否会安装失败
2.2查看安装的服务
2.3启动类型设置为 自动,并且点击启动按钮
2.4查看启动日志
(注册为服务默认的堆内存是128-256M,线上环境肯定不行,后面会配置)
2.5 卸载服务方法
tomcat bin目录执行即可 service.bat remove [bsoftTomcat8088]
service.bat remove [bsoftTomcat8088]
三.配置tomcat 能被jvisualvm.exe监听到 ,配置tomcat内存
3.1 首先需要打开tomcat配置界面
bin目录tomcat7w.exe双击报错 服务未安装,因为是我自定义服务名的关系,如果使用的默认服务名 直接双击tomcat7w.exe即可
3.2 查看服务名后 cmd cd到bin下 手动执行 tomcat7w .exe 带上服务名
tomcat7w //MS/[bsoftTomcat8088]
然后windiw右小脚成功出现了apache的图标
3.3 点击apache图标 配置tomcat jmx端口 配置堆内存
切换到Java 在Java Options 中加入配置jmx端口
port只要当前没其他程序占用即可,我设置的12088
-Dcom.sun.management.jmxremote.port=12088
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
下面默认的内存是128 -256 我调成了1024-4096
3.4配置好之后服务中启动tomcat,或者直接切换到general启动 ,应该都是同步的
3.5打开jvisualvm.exe jvm调试工具
打开后默认是没有找到以服务方式启动的tomcat
3.6添加JMX连接
3.7添加后查看 配置的堆内存已经生效了,但是没有配置P区内存
3.8 Java Options配置P区(PermSize)内存
设置P区内存,堆内存下面有输入框配置
-XX:MaxPermSize=1024M
(注意:
设置-XX:PermSize=512M
-XX:MaxPermSize=1024M ) 到java options 启动服务就失败,不知道为什么只能设置MaxPermSize属性,不过设置了最大P区内存也行把,,,
3.9 设置完成后重启tomcat服务,查看内存配置是否生效
启动日志 和jvisual都显示配置生效(jvisual需要重启下,因为tomcat服务重启 导致pid变了)
四.设置为window服务后实时查看tomcat运行日志
通过tomcat/logs [bsofttomcat8088]-stdout.2021-04-30 日志查看
之前startup.bat cmd窗口的内容现在都会写入stdout文件,我们实时刷新这个文件也行
或者tail指令实时查看(理论上,我没实践。。)
linux下是cd到 logs目录 执行
tail -f catalina.out
tail指令是linux window要使用可以网上下载一个插件 ,如tail.zip,即可使用tail指令实时查看stdout文件即可
五.关于tomcat startup.bat启动时和服务启动时 内存配置区别
tomcat内存配置
直接startup.bat cmd启动时
catalina.bat设置内存即可,设置为服务后catalina.bat设置的无效
5.1 查看设置服务的启动日志,打印出的堆内存为128-256
5.2查看startup.bat启动时的日志
这个我本地电脑 startup.bat启动 查看的
通过visualVM也能查看到内存配置