zoukankan      html  css  js  c++  java
  • Tomcat性能调优之JVM

    Tomcat是一款Java应用,那么JVM的配置便于运行性能密切相关,而java优化重点则集中在内存分配和GC策略调整上,因为内存直接会影响服务器的运行效率及吞吐量,JVM垃圾回收机制则会不同程度导致程序运行中断。可以根据应用程序的特点,选择不同的垃圾回收策略,调整JVM垃圾回收策略,可以极大减少垃圾回收次数,提升垃圾回收效率改善程序运行性能。

    1)内存优化参数

     -server:启动server以服务端模式运行,启动服务较慢但是请求速度较快建议开启。

    -Xms:最小堆内存,建议与-Xmx设置相同,设置相同避免在tomcat运行期间内对内存进行重新分配,造成资源浪费

    -Xmx:最大堆内存,建议与-Xms设置相同,设置相同避免在tomcat运行期间内对内存进行重新分配,造成资源浪费

    建议设置为可用内存的80%(可用内存指的是除去系统使用,及其它程序使用后剩余的内存)

    -XX:MetaspaceSize 元空间初始值

    -XX:MaxMetaspaceSize  元空间最大内存默认无限

    -XX:MaxNewSize  新生代最大内存默认16M

    -XX:NewRatio  年轻代和老年代大小比值,取值为整数默认为2不建议修改

    -XX:SurvivorRatio  Eden区与Survivor区大小的比值,取值为整数默认为8不建议修改

     2)进行实际配置

    windows下安装的tomcat配置文件为:catalina.bat (路径:tomcat-8.0.52/bin)

    linux下安装的tomcat配置文件为:catalina.sh(路径:tomcat-8.0.52/bin)

    在linux系统调优tomcat,关闭所有tomcat后看内存还剩余多少,将剩余内存的80%分配给服务器上面的tomcat

    JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:SurvivorRatio=8"

    大约在一百零几行的位置添加

     配置完成重启tomcat

    使用jmap查看是否变成了我们设置的2048

    jmap   -heap  pid (pid 就是tomcat的进程号)

    优化完成。

    查看了一下某云服务器确实内存降低了。

  • 相关阅读:
    改变Prompt默认路径,Change Default Visual Studio Command Prompt Location
    msbuild,Build failed with Error MSB3073 exited with code 1
    the filename directory name or volume label syntax is incorrect
    常用sql语句记录
    EF中多表公共字段,以及设置EntityBase使所有实体类继承自定义类
    一种在MVC3框架里面设置模板页的方法,不使用_ViewStart
    Java内存模型
    Effective Java(1)-创建和销毁对象
    WireShark 查看UDP码流的丢包率
    拖延心理学读后感
  • 原文地址:https://www.cnblogs.com/sxshaolong/p/13405361.html
Copyright © 2011-2022 走看看