tomcat调优文档文档格式.docx
- 文档编号:6916176
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:16
- 大小:788.75KB
tomcat调优文档文档格式.docx
《tomcat调优文档文档格式.docx》由会员分享,可在线阅读,更多相关《tomcat调优文档文档格式.docx(16页珍藏版)》请在冰点文库上搜索。
找到如下语句“remGuessCATALINA_HOMEifnotdefined”,然后在后面追加
setJAVA_OPTS=-Xms3600M–Xmx3600M–Xmn1200M-XX:
PermSize=256M-XX:
MaxPermSize=256M-XX:
SurvivorRatio=8-XX:
MaxTenuringThreshold=5-XX:
GCTimeRatio=19-Xnoclassgc-XX:
+DisableExplicitGC-XX:
+UseParNewGC-XX:
+UseConcMarkSweepGC-XX:
+CMSPermGenSweepingEnabled-XX:
+UseCMSCompactAtFullCollection-XX:
CMSFullGCsBeforeCompaction=0-XX:
+CMSClassUnloadingEnabled-XX:
-CMSParallelRemarkEnabled-XX:
CMSInitiatingOccupancyFraction=70-XX:
SoftRefLRUPolicyMSPerMB=0
上面的xmn为xmx的1/3,
操作系统内存
Xmx,xms分配策略
如果是xp(32位操作系统)
设置为1000m
物理内存大于4G,32位的操作系统
设置为1400m
物理内存等于4G,32位的操作系统
设置为2400m
物理内存大于6G,64位的操作系统
设置为3600m
修改之后的配置文件如下:
修改之后的配置文件1
编辑共享线程
<
!
--线程池-->
Executor
name="
tomcatThreadPool"
namePrefix="
catalina-exec-"
maxThreads="
300"
minSpareThreads="
100"
/>
--网络连接->
Connector
port="
8080"
protocol="
org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="
20000"
redirectPort="
9443"
executor="
compression="
on"
noCompressionUserAgents="
gozilla,
traviata"
compressableMimeType="
text/html,text/xml,text/javascript,text/css"
重启服务
然后把tomcat服务重启
监测tomcat对资源的使用
运行监测软件
在jdk的安装目录的bin下(d:
/wadata/jdk1.6/bin)找到jconsole.exe,运行该软件,选择本地进程里面的org.apache.catalina.startup.bootstrapstart,然后点“连接”按钮,进入了cpu、内存、线程监测页面
确认调优是否成功
可以看到vm参数有JAVA_OPTS=-Xms3600M–Xmx3600M-Xmn1200M-XX:
MaxTenuringThreshold=7-XX:
,说明调优成功了
Cpu,内存、线程数量
监测常量区的内存大小
导出内存影像
导出文件
jmap-dump:
format=b,file=test.bin756
然后用{jdk目录}/bin/jvisualvm.exe可以查看当前的内存分配的对象的情况
打印heap分配情况,生成统计信息
jmap-heappid
查看java堆(heap)使用情况
usingthread-localobjectallocation.
ParallelGCwith4thread(s)
//GC方式
HeapConfiguration:
//堆内存初始化配置
MinHeapFreeRatio=40
//对应jvm启动参数-XX:
MinHeapFreeRatio设置JVM堆最小空闲比率(default40)
MaxHeapFreeRatio=70
//对应jvm启动参数-XX:
MaxHeapFreeRatio设置JVM堆最大空闲比率(default70)
MaxHeapSize=512.0MB
MaxHeapSize=设置JVM堆的最大大小
NewSize
=1.0MB
NewSize=设置JVM堆的‘新生代’的默认大小
MaxNewSize=4095MB
MaxNewSize=设置JVM堆的‘新生代’的最大大小
OldSize
=4.0MB
OldSize=<
value>
:
设置JVM堆的‘老生代’的大小
NewRatio
=8
NewRatio=:
‘新生代’和‘老生代’的大小比率
SurvivorRatio=8
SurvivorRatio=设置年轻代中Eden区与Survivor区的大小比值
PermSize=16.0MB
PermSize=<
设置JVM堆的‘永生代’的初始大小
MaxPermSize=64.0MB
MaxPermSize=<
设置JVM堆的‘永生代’的最大大小
HeapUsage:
//堆内存分步
PSYoungGeneration
EdenSpace:
//Eden区内存分布
capacity=20381696(19.4375MB)
//Eden区总容量
used
=20370032(19.426376342773438MB)
//Eden区已使用
free
=11664(0.0111236572265625MB)
//Eden区剩余容量
99.94277218147106%used
//Eden区使用比率
FromSpace:
//其中一个Survivor区的内存分布
capacity=8519680(8.125MB)
=32768(0.03125MB)
=8486912(8.09375MB)
0.38461538461538464%used
ToSpace:
//另一个Survivor区的内存分布
capacity=9306112(8.875MB)
=0(0.0MB)
=9306112(8.875MB)
0.0%used
PSOldGeneration
//当前的Old区内存分布
capacity=366280704(349.3125MB)
=322179848(307.25464630126953MB)
=44100856(42.05785369873047MB)
87.95982001825573%used
PSPermGeneration
//当前的“永生代”内存分布
capacity=32243712(30.75MB)
=28918584(27.57891082763672MB)
=3325128(3.1710891723632812MB)
89.68751488662348%used
打印文件
jmap-histopid
查看堆内存(histogram)中的对象数量,大小
num
#instances
#bytes
classname
序号
实例个数
字节数
类名
----------------------------------------------
1:
3174877
107858256
[C
2:
3171499
76115976
java.lang.String
3:
1397884
38122240
[B
4:
214690
37785440
com.tongli.book.form.Book
5:
107345
18892720
6:
65645
13953440
[Ljava.lang.Object;
7:
59627
7648416
<
constMethodKlass>
8:
291852
7004448
java.util.HashMap$Entry
9:
107349
6871176
[[B
绿色版本的自启动的问题
一定不要在环境变量中设置catalina_home环境变量
进入任务计划
进入控制面板中---------》计划计划,点击“添加任务计划”
进入任务计划向导
选择浏览的按钮
选择要自启动的脚本Startup.bat
选择{tomcat目录}/bin/startup.bat的文件
选择“计算机启动时”
在下面的界面中,选择“计算机启动时“
设置自启动的密码
输入自动登录的用户名(默认为登录用户),然后输入登录操作系统的密码
完成
确认
记住该机器的ip,把操作系统重启,不要登录,通过另外的机器访问tomcat服务器,确认自启动是否完成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- tomcat 文档