JVM配置如下:

JAVA_OPTS="$JAVA_OPTS -server -Xmn1024M -Xms4096M -Xmx4096M  -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dorg.apache.catalina.connector.RECYCLE_FACADES=false -XX:PermSize=512M -XX:MaxPermSize=512M  -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly  -XX:SurvivorRatio=65536 -XX:MaxTenuringThreshold=0 -XX:CMSInitiatingOccupancyFraction=81 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:gc.log -XX:+PrintGCDetails -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=29010 -Dcom.sun.management.jmxremote.ssl=false"

以上配置参数说明:

-XX:+UseCMSInitiatingOccupancyOnly 仅仅使用手动定义初始化定义开始CMS收集

-XX:+UseConcMarkSweepGC 使用CMS内存收集

-XX:+UseParNewGC 允许多线程收集新生代

-XX:+CMSParallelRemarkEnabled 降低标记停顿

-XX+UseCMSCompactAtFullCollection 在FULL GC的时候, 压缩内存, CMS是不会移动内存的, 因此, 这个非常容易产生碎片, 导致内存不够用, 因此, 内存的压缩这个时候就会被启用。 增加这个参数是个好习惯

-XX:CMSFullGCsBeforeCompaction:由于并发收集器不对内存空间进行压缩、整理,所以运行一段时间以后会产生“碎片”,使得运行效率降低。此值设置运行多少次GC以后对内存空间进行压缩、整理。

-XX:+UseFastAccessorMethods 原始类型的快速优化

XX:SurvivorRatio=65536决定了新生代中eden与survivor的空间比例是65536:1,这里设置为65536的目的是不使用survivor的空间

-XX:MaxTenuringThreshold=0:设置垃圾最大年龄。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概论。

-XX:CMSInitiatingOccupancyFraction=70 CMS堆上, 使用70%后开始CMS收集。

-XX:SoftRefLRUPolicyMSPerMB=0是测量一个软引用存活的时间指标,用于使heap中的可用空间达到规定数量。默认值为每兆1000毫秒。这可理解为,对于heap中每兆大小的可用空间而言,一个软引用有1秒的存活时间(在最后一个强引用的对象被回收后)。这个1秒的估算已非常接近真实状态了

由于Tocmat6存在一个BUG,以上的配置会引起JVM产生大量的FULL GC,在Tomcat一启动的时候就会FULL GC。解决的办法是在server.xml中增加如下项即可解决

python 高并发 tomcat_TOMCAT 高并发配置相关推荐

  1. 万字干货 | Python后台开发的高并发场景优化解决方案

    嘉宾 | 黄思涵 来源 | AI科技大本营在线公开课 互联网发展到今天,规模变得越来越大,也对所有的后端服务提出了更高的要求.在平时的工作中,我们或多或少都遇到过服务器压力过大问题.针对该问题,本次公 ...

  2. 干货 | Python后台开发的高并发场景优化解决方案

    嘉宾 | 黄思涵 来源 | AI科技大本营在线公开课 互联网发展到今天,规模变得越来越大,也对所有的后端服务提出了更高的要求.在平时的工作中,我们或多或少都遇到过服务器压力过大问题.针对该问题,本次公 ...

  3. python tornado高并发_tornado IO并发真的很高么?

    首先,你可以更详细的描述一下apache 的部署,tornado 的部署. 比如,torando 默认是单线程单进程的,也就是只能利用单核,apache 多线程是可以利用多核的,如果你没使用对,这个是 ...

  4. python高并发编程_Python——并发编程

    开始说并发编程之前,最好有一定的底层知识积累,这里我把需要的知识总结了一下,如果看下面的有不理解的可以看一下:https://www.cnblogs.com/kuxingseng95/p/941820 ...

  5. 微博短视频千万级高可用、高并发架构如何设计?

    作者:刘志勇,本文来自新浪微博视频平台资深架构师刘志勇在 LiveVideoStackCon 2018 讲师热身分享,并由 LiveVideoStack 整理而成. 本文从设计及服务可用性方面,详细解 ...

  6. Nginx+Redis+Ehcache:大型高并发与高可用的三层缓存架构总结

    对于高并发架构,毫无疑问缓存是最重要的一环,对于大量的高并发,可以采用三层缓存架构来实现nginx+redis+ehcache. Nginx 对于中间件nginx常用来做流量的分发,同时nginx本身 ...

  7. 如果淘宝双十一架构用. Net Core,如何“擒住”高并发、高可用、低延迟?

    电商的秒杀和抢购,对我们来说,都不是一个陌生的东西.然而,从技术的角度来说,这对于Web系统是一个巨大的考验.当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要. 缓存技 ...

  8. oom 如何避免 高并发_微博短视频百万级高可用、高并发架构如何设计?

    本文从设计及服务可用性方面,详细解析了微博短视频高可用.高并发架构设计中的问题与解决方案. 今天与大家分享的是微博短视频业务的高并发架构,具体内容分为如下三个方面: 团队介绍 微博视频业务场景 &qu ...

  9. java设计模式并发_[高并发Java 七] 并发设计模式

    [高并发Java 七] 并发设计模式 [高并发Java 七] 并发设计模式 为什么80%的码农都做不了架构师?>>> 在软件工程中,设计模式(design pattern)是对软件设 ...

  10. 多少并发量算高并发_Linux服务端最大并发数是多少?

    1. 开场白 在开始今天的文章之前,先抛一个面试题出来: 你接触过的单机最大并发数是多少? 你认为当前正常配置的服务器物理机最大并发数可以到多少? 说说你的理解和分析. 思考几分钟,如果你可以有理有据 ...

最新文章

  1. CSS中的字体属性和使用
  2. Noip2015普及组第四题 Salesman的解题报告
  3. Haproxy + Pacemaker 实现高可用负载均衡(一)
  4. javascript正则表达式总结(test|match|search|replace|split|exec)
  5. db2和mysql语句区别_db2和mysql语法的区别是什么
  6. 史上最丧心病狂的商品定价套路:如何从数学角度,榨干你身上的每一分钱
  7. matlab中patch函数的用法
  8. php$_GET的作用,PHP-$_GET和$_POST不起作用
  9. 如何实现公平的效绩考核?
  10. (第一周)2018091-2 博客作业
  11. 利用python处理dna序列_科学网-简单的Python脚本提取对应位置基因序列(fasta文件)-王彬忠的博文...
  12. 本科生、研究生查询框架
  13. 关于FileOpen2插件安装apk时闪退的解决办法
  14. 英语字母表及其冠词用法
  15. 实战:第六章:H5微信与支付宝调试错误,请回到请求来源地,重新发起请求。 错误代码 insufficient-isv-permissions
  16. java后台跳转页面实现方式
  17. Oracle ORA-01031:权限不足
  18. 基于最小割的分割算法(Min-Cut Based Segmentation)
  19. svn入门----如何使用svn
  20. 博图db块变量导出_如何查看西门子博图软件DB数据块中的变量地址

热门文章

  1. SQLServer-----SQLServer 2008 R2安装
  2. Mybatis 项目开发实际常用SQL笔记总结
  3. ML三(人工神经网络)
  4. R中读取Excel大文件
  5. TableView数据源方法的执行顺序
  6. Cocos2D-X笔记(1)制作一个动态的精灵
  7. 技巧:使用User Control做HTML生成(转)
  8. PHP配置问题(找不到指定模块)解决办法
  9. lstm数学推导_ICML 2019 | 神经网络的可解释性,从经验主义到数学建模
  10. CSS3最常用选择器总结笔记