Linux下修改TOMCAT_HOME/bin/catalina.sh,在其中加入,可以放在CLASSPATH=下面:
JAVA_OPTS="-server -XX:PermSize=512M -XX:MaxPermSize=1024m -Xms2048m -Xmx2048m"
//-------------------------------------------
JAVA_OPTS="-server
-Xms2g #是用来设置你的应用程序能够使用的最大内存数,如果程序要花很大内存的话,那就需要修改增加此数的值。
-Xmx2g #是用它来设置程序初始化的时候内存栈的大小,增加这个值的话你的程序的启动性能会得到提高。
-Xmn512m #设置年轻代大小为512m
-Xss512k #设置每个线程的堆栈大小512k
-XX:MetaspaceSize=512M #这个JVM参数是指Metaspace扩容时触发FullGC的初始化阈值,也是最小的阈值。
-XX:MaxMetaspaceSize=512M #这个JVM参数是指Metaspace扩容时触发FullGC的峰值阈值,也是最大的阈值。
-Duser.country=CN #语言国家
-Duser.language=zh #语言类型
-Dfile.encoding=UTF-8 #强行设置系统文件编码格式为utf-8
-Djavax.servlet.response.encoding=UTF-8 #设置Servlet中response的乱码问题
-Djavax.servlet.request.encoding=UTF-8 #设置Servlet中request的乱码问题
-Dcom.sun.management.jmxremote #远程连接监控jvm的参数可以定义ip、prot等参数。
-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector #开启tomcat异步日志
-XX:+HeapDumpOnOutOfMemoryError #参数表示当JVM发生OOM时,自动生成DUMP文件。
-XX:HeapDumpPath=/opt//dump.log #定义dump文件路径
-XX:+UseG1GC #G1垃圾回收器G1垃圾回收器适用于堆内存很大的情况,他将堆内存分割成不同的区域,并且并发的对其进行垃圾回收。G1也可以在回收内存之后对剩余的堆内存空间进行压缩。并发扫描标记垃圾回收器在STW情况下压缩内存。G1垃圾回收会优先选择第一块垃圾最多的区域
-XX:MaxGCPauseMillis=300 #设置每次年轻代垃圾回收的最长时间,如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值
-XX:ParallelGCThreads=4 #并行回收GC的线程数
-XX:ConcGCThreads=4 #将使用并发垃圾收集器的线程数。默认值随JVM运行的平台而变化。
-XX:+PrintGCDetails #打印GC日志详情
-XX:+PrintGCDateStamps #输出GC的时间戳
-Xloggc:/opt/gc.log" #输出的GC日志路径
2.验证
设置成功后我们可以利用JDK自带的工具进行验证,这些工具都在JAVA_HOME/bin目录下:
1)jps:用来显示本地的java进程,以及进程号,进程启动的路径等。
2)jmap:观察运行中的JVM 物理内存的占用情况,包括Heap size , Perm size 下载地址 等。
进入命令行模式后,进入JAVA_HOME/bin目录下,然后输入jps命令:
#jps
显示以下结果
2340 Bootstrap
6696 Jps
其中 Bootstrap进程就是我们启动了的 Tomcat,其进程号为2340.
然后我们利用 jmap工具查看其内存相关配置:
#jmap -heap 2340
显示以下结果
Attaching to process ID 2340, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.65-b04
using thread-local object allocation.
Parallel GC with 4 thread(s)
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 2147483648 (2048.0MB) //最大堆内存
NewSize = 1310720 (1.25MB)
MaxNewSize = 17592186044415 MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 536870912 (512.0MB) //永久代初始大小
MaxPermSize = 1073741824 (1024.0MB) //永久代最大大小
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 537919488 (513.0MB)
used = 247606720 (236.13616943359375MB)
free = 290312768 (276.86383056640625MB)
46.03044238471613% used
From Space:
capacity = 89128960 (85.0MB)
used = 0 (0.0MB)
free = 89128960 (85.0MB)
0.0% used
To Space:
capacity = 89128960 (85.0MB)
used = 0 (0.0MB)
free = 89128960 (85.0MB)
0.0% used
PS Old Generation
capacity = 1431830528 (1365.5MB)
used = 0 (0.0MB)
free = 1431830528 (1365.5MB)
0.0% used
PS Perm Generation
capacity = 536870912 (512.0MB)
used = 20770360 (19.80815887451172MB)
free = 516100552 (492.1918411254883MB)
3.86878103017807% used
12005 interned Strings occupying 1039352 bytes.
从结果验证配置是否成功了。
分享到:
相关推荐
通常,可以使用`shutdown.sh`停止Tomcat,再用`startup.sh`启动,或者直接使用`catalina.sh`的start和stop选项。 值得注意的是,虽然此方法在很多情况下可以解决问题,但并非所有情况都适用。例如,如果日志输出被...
标题中的“在tomcat的catalina.sh文件中添加了jconsole检测内存配置”涉及到的是Java应用程序服务器Tomcat的配置以及使用JConsole进行性能监控的知识点。Tomcat是Apache软件基金会的一个开源项目,广泛用于部署Java ...
默认情况下,Tomcat的主要日志输出文件是`catalina.out`,它记录了服务器启动、运行和关闭过程中的所有标准输出和错误信息。然而,随着服务器运行时间的增长,`catalina.out`可能会变得非常大,导致日志查找和分析变...
《catalina.sh详解——深度剖析Tomcat启动脚本》 在Java Web开发领域,Tomcat作为一款广泛应用的...在遇到问题时,通过分析`catalina.sh`中的日志信息,往往能迅速定位并解决问题,是每个Tomcat使用者必备的技能之一。
`catalina.sh`是Tomcat的启动脚本,它负责启动、停止和管理Tomcat实例。 - 当Tomcat运行时,所有标准输出(stdout)和标准错误(stderr)都会被重定向到`catalina.out`,这对于调试和问题排查非常有帮助。 - 但是...
Linux日志分隔修改后的tomcat的catalina.sh,用于对tomcat每天的日志分隔
- 打开Tomcat的启动脚本`catalina.sh`,通常位于`/path/to/tomcat/bin/`目录下。 - 修改脚本中的日志输出方式,使其支持cronolog。具体操作是在`catalina.sh`文件中找到与日志输出相关的代码段,将其修改为如下所...
tomcat日志 catalina.out分离 免去catalina,out过大的情况,并且查看日志方便,里面包含了食用方法和一个写好的catalina.sh文件 安装好cronolog后直接覆盖源文件
接下来,需要修改Tomcat的启动脚本`catalina.sh`,以便在启动时使用cronolog进行日志文件的切分。 #### 修改`catalina.sh` 1. **找到`catalina.sh`文件的位置**: 通常位于`$TOMCAT_HOME/bin`目录下。 2. **注释...
Linux下,tomcat自动获取CATALINA_HOME的脚本,放到startup.sh同级目录下即可
在Tomcat这样的Java应用服务器中,`catalina.out`是默认的日志文件,记录了Tomcat启动、运行过程中的所有信息,包括错误、警告以及普通日志。随着服务器运行时间的增长,`catalina.out`可能会变得非常庞大,不仅占用...
./catalina.sh start (关闭tomcat ./shutdown.sh stop) 4.、测试 查看Tomcat是否已经启动netstat -ntl |grep 8080 浏览器地址栏输入 http://localhost:8080/ 如果能看到Tomcat的欢迎页表示整合成功,至此已经完成...
1. 在Tomcat的启动脚本(例如:catalina.sh)的合适位置添加以下JVM参数: ``` -Dcom.sun.management.config.file=catalina-logging.properties ``` 2. 在Tomcat的conf目录下创建catalina-logging.properties...
同时,确保Tomcat启动脚本(`catalina.sh`或`catalina.bat`)包含以下行来加载Log4j配置: ```bash -Dlog4j.configuration=file:${catalina.base}/conf/log4j.properties ``` 这样,Tomcat就会使用Log4j进行日志...
catalina.sh 是 Apache Tomcat 服务器的一部分,它是用于启动、停止和管理 Tomcat 服务的脚本。在这个上下文中,可能是指通过修改或扩展 catalina.sh 脚本来集成 cronolog,以便在 Tomcat 服务器运行时自动分割日志...
4. **启动与管理**:通过`bin`目录下的脚本启动Tomcat,如`./catalina.sh start`(Unix/Linux)或`catalina.bat start`(Windows)。可以通过`./catalina.sh stop`或`catalina.bat stop`来停止服务。`manager`和`...
这些参数通常在`catalina.sh`或`setenv.sh`脚本中设置。 10. **负载均衡与集群** 对于高可用性和负载均衡,可以配置多个Tomcat实例并通过反向代理(如Nginx或HAProxy)进行负载均衡。更高级的配置可以通过Apache ...
1. **bin**:包含启动和停止Tomcat的脚本,如`catalina.sh`、`startup.sh`和`shutdown.sh`,以及其他的实用工具。 2. **conf**:存放所有配置文件,如`server.xml`(服务器配置)、`context.xml`(全局上下文配置)...
这个压缩包包含了Tomcat的全部组件,如bin目录下的可执行脚本(如`catalina.sh`用于启动和停止Tomcat),conf目录下配置文件(如`server.xml`定义了服务器的配置),webapps目录用于存放Web应用,以及logs、temp、...