今天在项目中碰到了一个tomcat时间跟系统时间不一致的问题,上网找到了解决方法,参见网址:http://evanmin.javaeye.com/blog/849844
一,在catalina.bat中
配置如下:
set JAVA_OPTS=%JAVA_OPTS% -Duser.timezone=GMT+08 -Xms256m -Xmx800m
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file="%CATALINA_BASE%/conf/logging.properties"
-Xms256m -Xmx800m(初始化内存大小为256m,可以使用的最大内存为800m),
-Duser.timezone=GMT+08 //设置为北京时间
这样设置后,时间不一致问题解决,但是当把Tomcat放到Window服务中,作为服务启动时,问题有出现了。上网终于找了了原因,参见网址:http://www.simpleframework.net/bbs/1443/2121.html
windows中大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。
所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存:
如:java -Xms64m -Xmx128m a.jar.
tomcat的启动程序是包装过的,不能直接使用java -X..... tomcat.*来改变内存的设置。在Tomcat在改变这个设置
有两种方法:
1. 适合用%tomcat_home%/bin中的startup.bat脚本启动,需要在环境变量中加上CATALINA_OPTS这个属性 。
如 SET CATALINA_OPTS= -Xms64m -Xmx512m;
ms是最小的,mx是最大,64m, 512m分别是指内存的初始和最大容量.
因 为:用startup.bat启动tomcat服务器,会调用catalina.bat文件,在Catalian.bat文件的166行“rem Execute Java with the applicable properties ”下面会加载系统设置的相关属性。
其中就有%CATALINA_OPTS%这一项。这样tomcat在启动时就会将内存设置为指定的值。
2. 适合将tomcat作为系统服务启动,这时候上面设置CATALINA_OPTS 属性的方法就不适用了,因为作为系统服务的话,系统启动时调用的是 %tomcat_home%/bin/tomcat5w.exe,他读取注册表中的值,而不是catalina.bat的设置,因此需要修改注册表:
解决办法:
修改注册表HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Tomcat Service Manager/Tomcat5/Parameters/JavaOptions
原值为
-Dcatalina.home="C:/ApacheGroup/Tomcat 5.0"
-Djava.endorsed.dirs="C:/ApacheGroup/Tomcat 5.0/common/endorsed"
-Xrs
加入 -Xms300m -Xmx350m
重起tomcat服务,设置生效。
同样我在注册表中加入-Duser.timezone=GMT+08 ,就可解决出现的问题。
转(http://hi.baidu.com/tao1203/blog/item/07606d381b595dded5622510.html)
分享到:
相关推荐
在给定的标题"java程序自动重新启动"中,我们可以理解这是一个实现了自动重启逻辑的Java程序。描述指出,这个程序由三个.java文件组成:Test.java、Watch.java和AbstractRun.java,它们构成了一个简单的自动重启系统...
Java 虚拟机 (JVM) 的启动参数对于调整和优化 Java 应用程序的性能至关重要。根据不同的应用场景和需求,合理选择和配置这些参数能够显著提升应用程序的运行效率。Java 启动参数大致可以分为三类:标准参数、非标准...
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。
Java启动参数是调整Java虚拟机(JVM)行为的关键工具,它们可以影响应用程序的性能、内存使用、诊断和调试。本篇文章将详细讲解Java启动参数中的标准参数,这些参数是所有JVM实现必须支持并保证向后兼容的。 首先,...
合理设置Tomcat的启动参数对于提高Java Web应用的性能至关重要。通过对上述参数的设置,不仅可以提升系统的运行效率,还可以有效预防由于内存不足引发的问题。同时,持续监测和调整参数也是优化性能的关键步骤之一。...
使用方法通常是提供一个批处理脚本,指定Java可执行路径、JAR文件路径以及服务的启动参数。 创建服务的基本步骤如下: 1. **下载并准备RkTools**:确保你已经有了`rktools.exe`这个工具,它通常包含在服务管理...
- **kickstart-2.0.zip**:这可能是指KickStart,它是一个用于创建独立Java应用程序的工具,能够将Java应用转换为.exe文件,并且可以设置启动参数。 - **winrun4jdoc.zip**:这个可能是WinRun4J的文档,包含关于...
3. **传递参数** - 如果Java程序需要接收命令行参数,我们可以在脚本中添加这些参数,并在调用java命令时传入。 4. **日志管理** - 脚本中通常会包含将程序输出重定向到日志文件的部分,以便于后期分析和故障排查。...
### Eclipse启动参数设置详解 #### 一、概述 Eclipse是一款非常流行的开源集成开发环境(IDE),被广泛应用于Java开发领域以及其他多种编程语言的开发工作中。对于初学者来说,掌握Eclipse的基本操作以及如何合理...
1. **JVM调优**:Java虚拟机(JVM)是Java程序运行的基础,优化JVM参数可以显著提升性能。例如,调整堆内存大小(-Xms和-Xmx),设置新生代和老年代的比例(-XX:NewRatio),以及开启或关闭垃圾回收器(如G1、Parallel ...
### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...
- `crontab`:虽然`crontab`主要用于定时任务,但可以通过设置`@reboot`指令使其在系统启动时执行Java程序。 3. **使用第三方工具** - `Launch4j`:这是一个用于Windows平台的工具,可以将Java应用封装为独立的可...
- 在Linux环境下,可以创建System V init脚本或者使用Upstart配置来启动Java程序。这些脚本会在系统启动时执行,启动Java应用。 - 需要编写一个`.conf`文件,配置启动命令、环境变量等,并将其添加到相应的启动...
### Tomcat 启动参数设置详解 #### 一、背景介绍 在部署Java Web应用程序时,经常使用Apache Tomcat作为应用服务器。然而,在高并发或大数据量处理的应用场景下,Tomcat可能会出现内存溢出等问题。为了提升Tomcat的...
总的来说,启动和停止Java程序涉及理解JVM参数、操作系统级别的进程管理和脚本编写。对于复杂的部署环境,还需要熟悉相关服务器和管理工具。在实际操作中,确保安全地停止程序以避免数据丢失或系统不稳定是至关重要...
Java程序在Windows操作系统上作为服务运行,是一种常见的部署方式,特别是在需要后台持续运行且与系统启动同步的应用场景中。要实现这一目标,我们可以利用开源工具Winsw,它是一个小型的Windows服务封装器,允许...
Java 启动参数优化是指在启动 Java 应用程序时,可以设置的一些参数,以优化 Java 虚拟机的性能。例如,我们可以通过-Xmn 设置新生代的大小,-XX:SurvivorRatio 设置 Eden 和 S 区的比值,以优化垃圾回收的效率。...
这可以通过修改Java启动参数来实现,添加"-windowed"或者"-headless"选项: ```bash java -jar yourApp.jar -windowed ``` 线程异常死亡(保活)是指确保即使某个线程发生异常,程序仍能继续运行。我们可以通过...
2. **配置启动脚本**:创建一个批处理文件(Windows)或shell脚本(Linux/Unix),用于启动Java程序,指定JVM参数、类路径等。 3. **安装服务**:使用上述提到的服务管理工具,如`winsw`或`Systemd`配置服务定义...
将Java程序转换为Windows服务是通过JavaService工具实现的,这个工具允许Java应用程序在Windows操作系统中作为服务运行,从而在系统启动时自动启动程序,并且可以在服务管理器中进行管理。下面将详细讲解如何操作和...