Tomcat 或 jetty 启动参数设置

Tomcat 或  jetty 启动参数设置:
-Xms128m JVM初始分配的堆内存默认为物理内存的1/4
-Xmx512m JVM最大允许分配的堆内存,按需分配
其中,-Xms与-Xmx要设置成一样的
-XX:PermSize=64M JVM初始分配的非堆内存 物理内存的1/64;
-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配; 物理内存的1/4
-xmn Sun官方推荐配置为整个堆的3/8

 

1: heap size
a: -Xmx
指定jvm的最大heap大小,如:-Xmx2g

b: -Xms
指定jvm的最小heap大小,如:-Xms1g

c: -Xmn
指定jvm中New Generation的大小,如:-Xmn256m

d: -XX:PermSize
指定jvm中Perm Generation的最小值,如:-XX:PermSize=32m

e: -XX:MaxPermSize
指定Perm Generation的最大值,如:-XX:MaxPermSize=64m

f: -Xss
指定线程桟大小,如:-Xss128k

g: -XX:NewRatio
指定jvm中Old Generation heap size与New Generation的比例,在使用CMS GC的情况下此参数失效, 如:-XX:NewRatio=2

h: -XX:SurvivorRatio
指定New Generation中Eden Space与一个Survivor Space的heap size比例,-XX:SurvivorRatio=8,那么在总共New Generation为10m的情况下,Eden Space为8m

i: -XX:MinHeapFreeRatio
指定jvm heap在使用率小于n的情况下,heap进行收缩,Xmx==Xms的情况下无效,如:-XX:MinHeapFreeRatio=30

j: -XX:MaxHeapFreeRatio
指定jvm heap在使用率大于n的情况下,heap进行扩张,Xmx==Xms的情况下无效,如:-XX:MaxHeapFreeRatio=70

k: -XX:LargePageSizeInBytes
指定Java heap的分页页面大小,如:-XX:LargePageSizeInBytes=128m

2: garbage collector
a: -XX:+UseParallelGC
指定在New Generation使用parallel collector,并行收集,同时启动多个垃圾回收thread,不能和CMS gc一起使用.系统吨吐量优先,但是会有较长长时间的app pause,后台系统任务可以使用此gc

b: -XX:ParallelGCThreads
指定parallel collection时启动的thread个数,默认是物理processor的个数,如:-xx:ParallelGCThreads=8

c: -XX:+UseParallelOldGC
指定在Old Generation使用parallel collector

d: -XX:+UseParNewGC
指定在New Generation使用parallel collector,是UseParallelGC的gc的升级版本,有更好的性能或者优点,可以和CMS gc一起使用

e: -XX:+CMSParallelRemarkEnabled
在使用UseParNewGC的情况下,尽量减少mark的时间

f: -XX:+UseConcMarkSweepGC
指定在Old Generation使用concurrent cmark sweep gc,gc thread和app thread并行,所以称作concurrent.app pause时间较短,适合交互性强的系统,如web server

g: -XX:+UseCMSCompactAtFullCollection
在使用concurrent gc的情况下,防止memory fragmention,对live object进行整理,使memory碎片减少

h: -XX:CMSInitiatingOccupancyFraction=n
指示在old generation在使用了n%的比例后,启动concurrent collector,默认值是68,如:-XX:CMSInitiatingOccupancyFraction=70
有个bug,在低版本的jvm上出现,http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6486089

i: -XX:+UseCMSInitiatingOccupancyOnly
指示只有在old generation在使用了初始化的比例后concurrent collector启动收集

3:others
a: -XX:MaxTenuringThreshold
指定一个object在经历了n次young gc后转移到old generation区,在linux64的java6下默认值是15,此参数对于throughput collector无效,如:-XX:MaxTenuringThreshold=31

b: -XX:+DisableExplicitGC
禁止java程序中的full gc,如System.gc()的调用

c: -XX:+UseFastAccessorMethods
原始类型get,set方法的优化

d: -XX:+PrintGCDetails
打应垃圾收集的情况如:
[GC 15610.466: [ParNew: 229689K->20221K(235968K), 0.0194460 secs] 1159829K->953935K(2070976K), 0.0196420 secs]

e: -XX:+PrintGCTimeStamps
打应垃圾收集的时间情况,如:
[Times: user=0.09 sys=0.00, real=0.02 secs]

f: -XX:+PrintGCApplicationStoppedTime
打应垃圾收集时,系统的停顿时间,如:
Total time for which application threads were stopped: 0.0225920 seconds

4  -XX:+UseCompressedOops
    压缩指针  64位机器,JDK1.6支持

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jetty 欢迎访问Jetty文档 Wiki. Jetty是一个开源项目,提供了http服务器、http客户端和java servlet容器。 这个wiki提供jetty的入门教程、基础配置、功能特性、优化、安全、JavaEE、监控、常见问题、故障排除帮助等等。它包含教程、使用手册、视频、特征描述、参考资料以及常见问题。 Jetty文档 ---------------- 入门: 下载Download, 安装, 配置, 运行 Jetty入门(视频) 下载和安装Jetty 如何安装一个Jetty包 如何配置Jetty – 主要文档 如何运行Jetty 用JConsole监控Jetty 如何使用Jetty开发 Jetty HelloWorld教程 Jetty和Maven HelloWorld教程 Jetty(6)入门 (www.itjungle.com) Jetty Start.jar 配置Jetty 如何设置上下文(Context Path) 如何知道使用了那些jar包 如何配置SSL 如何使用非root用户监听80端口 如何配置连接器(Connectors) 如何配置虚拟主机(Virtual Hosts) 如何配置会话ID(Session IDs) 如何序列化会话(Session) 如何重定向或移动应用(Context) 如何让一个应用响应一个特定端口 使用JNDI 使用JNDI 在JNDI中配置数据源(DataSource) 内嵌Jetty服务器 内嵌Jetty教程 内嵌Jetty的HelloWorld教程 内嵌Jetty视频 优化Jetty 如何配置垃圾收集 如何配置以支持高负载 在Jetty中部署应用 部署管理器 部署绑定 热部署 Context提供者 如何部署web应用 webApp提供者 如何部署第三方产品 部署展开形式的web应用 使用Jetty进行开发 如何使用Jetty进行开发 如何编写Jetty中的Handlers 使用构建工具 如何在Maven中使用Jetty 如何在Ant中使用Jetty Maven和Ant的更多支持 Jetty Maven插件(Plugin) Jetty Jspc Maven插件(Plugin) Maven web应用工程原型 Ant Jetty插件(Plugin) 使用集成开发环境(IDEs) 在Eclipse中使用Jetty 在IntelliJ中使用Jetty 在Eclipse中工作 在Eclipse中开发Jetty Jetty WTP插件(Plugin) JettyOSGi SDK for Eclipse-PDE EclipseRT Jetty StarterKit SDK OSGi Jetty on OSGi, RFC66 基于Jetty OSGi的产品 OSGi贴士 Equinox中使用Jetty实现HTTP Service Felix中使用Jetty实现HTTP Service PAX中使用Jetty实现HTTP Srevice ProSyst mBedded Server Equinox Edition Spring Dynamic Modules里的Jetty JOnAS5里的Jetty 配置Ajax、Comet和异步Servlets 持续和异步Servlets 100 Continue和102 Processing WebSocket Servlet 异步的REST Stress Testing CometD 使用Servlets和Filters Jetty中绑定的Servlets Quality of Service Filter Cross Origin Filter 配置安全策略(Security Policies) 安全领域(Security Realms) 安全域配置教程 Java Authentication and Authorization Service (JAAS) JAAS配置教程 JASPI 安全模型(Secure Mode) 存储在文件中的安全密码以及编程教程 如何开启或禁止Jetty中的SSL功能 如何在Jetty中安全存储密码 如何安全终止Jetty 如何配置Spnego Application Server Integrations(集成) Apache Geronimo JEE 配置Apache httpd和Jetty教程 配置Apache mod_proxy和Jetty 配置Jetty中的AJP13 在JBoss中配置Jetty Remote Glassfish EJBs from Jetty Jetty and Spring EJB3 (Pitchfork) JBoss EJB3 ObjectWeb EasyBeans
悟空CRM采用全新的前后端分离模式,本仓库代码中已集成前端vue打包后文件,可免去打包操作 如需调整前端代码,请单独下载前端代码,前端代码在根目录的ux文件夹中 主要技术栈 核心框架:jfinal3.8 缓存:redis 数据库连接池:Druid 工具类:hutool,fastjson,poi-ooxml 定时任务:jfinal-cron 项目构建工具:maven Web容器:tomcat,jetty,undertow(默认) 前端MVVM框架:Vue.JS 2.5.x 路由:Vue-Router 3.x 数据交互:Axios UI框架:Element-UI 2.6.3 安装说明 配置java运行环境,redis环境,mysql环境将目录doc下的72crm.sql导入到数据库,修改resources/config/erpsnow-config.txt下的数据库以及redis的配置文件undertow启动端口号在resources/config/undertow.txt下修改jetty启动端口号在Application.java中修改 部署说明 本项目JDK要求JDK8及以上 一、Tomcat部署 javax.servlet javax.servlet-api 4.0.1 provided 取消以上代码的注释,将jetty和undertow的引用注释掉,将packaging从jar改为war然后运行maven package命令,将war包放在tomcat/webapps目录下 二、Jetty部署 com.jfinal jetty-server 2019.3 provided 取消以上代码的注释,将tomcat和undertow的引用注释掉,将packaging改为jar其他同Undertow 三、Undertow(默认) com.jfinal jfinal-undertow 1.5 取消以上代码的注释,将jetty和undertow的引用注释掉,将packaging改为jar运行 maven package。将上述打包命令生成的 zip 文件上传到服务器并解压,将目录下的 72crm.sh/72crm.bat 放到解压后的目录下,运行即可 更换启动方式jetty和undertow时,需要更改Application.java中的启动文件 前端部署 安装node.js 前端部分是基于node.js上运行的,所以必须先安装node.js,版本要求为6.0以上 使用npm安装依赖 下载悟空CRM9.0前端代码; 可将代码放置在后端同级目录frontend,执行命令安装依赖: npm install 修改内部配置 修改请求地址或域名:config/dev.env.js里修改BASE_API(开发环境服务端地址,默认localhost) 修改自定义端口:config/index.js里面的dev对象的port参数(默认8080,不建议修改) 运行前端 npm run dev 注意:前端服务启动,默认会占用8080端口,所以在启动前端服务之前,请确认8080端口没有被占用。 程序运行之前需搭建好Server端
Spring Boot 内嵌 Tomcat 和外部 Tomcat 对比 Spring Boot 是一个非常方便的框架,它可以快速创建一个独立的 Spring 应用程序,并且内嵌了 TomcatJetty 或者 Undertow 等 Web 容器,可以通过简单的配置来启动和停止 Web 服务器。 与外部 Tomcat 相比,Spring Boot 内嵌 Tomcat 的优点主要有以下几点: 1. 快速启动 Spring Boot 内嵌 Tomcat 可以快速启动应用程序,不需要安装和配置外部 Tomcat 服务器,这使得开发人员更加专注于应用程序开发,节省了时间和精力。 2. 简单配置 Spring Boot 内嵌 Tomcat 的配置非常简单,只需要在 application.properties 或 application.yml 配置文件中定义相关的配置参数,就可以轻松地启动和停止 Web 服务器。 3. 简化部署 使用 Spring Boot 内嵌 Tomcat 可以将应用程序打包成一个独立的可执行的 JAR 文件,这样可以方便地进行部署和维护,也可以方便地进行版本控制和升级。 4. 更好的可移植性 Spring Boot 内嵌 Tomcat 可以在不同的操作系统和环境中运行,这使得应用程序更加可移植和易于部署。 虽然 Spring Boot 内嵌 Tomcat 有很多优点,但是与外部 Tomcat 相比,还是存在一些缺点: 1. 硬件资源消耗 由于内嵌 Tomcat 需要占用一定的硬件资源,所以对于大型的应用程序来说,可能需要更多的硬件资源才能保证其正常运行。 2. 自定义性 内嵌 Tomcat 的功能相对简单,对于一些需要自定义的功能,可能需要使用外部 Tomcat 来实现。 3. 集成其他应用程序 如果需要与其他应用程序进行集成,可能需要使用外部 Tomcat 来实现。 总之,Spring Boot 内嵌 Tomcat 和外部 Tomcat 都有各自的优缺点,应该根据具体的应用场景来选择合适的方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值