首页 > 编程语言 >Java 应用4核8G性能瓶颈分析步骤

Java 应用4核8G性能瓶颈分析步骤

时间:2022-11-24 21:14:21浏览次数:48  
标签:Java 瓶颈 8G 200M Gc 垃圾 CPU

 

服务器性能瓶颈表现:

CPU使用率达到了百分百

什么原因会导致服务器CPU使用率达到百分百

1、磁盘IO

2、网络IO

3、远程接口执行速度

以上原因会导致服务响应变慢,为什么慢会导致CPU升高呢?

 

 1、比如接口的QPS是10

2、java应用不能释放的内存会别移动到幸存者区

 

 

 

 

 

Java应用4核8G,年轻代2G,,幸存者区 200M ,YGC 

比如一个请求会产生2M的垃圾

QPS:1000/s 响应时间:200ms

每次请求产生的垃圾:2M

持有请求RT:200个 ,持有垃圾:400M

每次GC就有200个请求不能被释放,400M垃圾不能被回收,其中有200M就被移到了幸存者区,还有200M因为内存不足,就被放到了老年代,这是一个很可怕的现象,因为平衡已经被打破了,接下来老年代就会不断的增长,不断的增长直到fullGc,而fullGc是一个很耗时的操作,这时候就会有更多的内存不能被释放了,那我们GC不就相当于没有Gc,内存不够,就会不停的Gc,然后就会导致CPU增长到百分之百,服务就崩溃了,所以我们会很明显的发现啊,优化性能最好的方案,就是降低我们的响应时间

降低RT > 减少垃圾 > 优化命令 > 提升配置

SQL调优 > 享元复用 > 算法调优 > 拎包走人

 

问题:

1、为什么Gc 会消耗CPU呢?

 

2、享有模式和单例模式又有什么区别呢?

 

标签:Java,瓶颈,8G,200M,Gc,垃圾,CPU
From: https://www.cnblogs.com/xiedy001/p/16923341.html

相关文章

  • Java学习五
    一.小结1.程序模块化和可重用性是软件工程的中心目标之一。java提供了很多有助于完成这一目标的有效结构。方法就是一个这样的结构。2.方法指定方法的修饰符,返回值类型,方......
  • Java 设计模式:工厂模式
    目录工厂模式(FactoryPattern)实现简单工厂模式示例工厂方法模式示例抽象工厂模式示例参考工厂模式(FactoryPattern)所属:创建型模式,适用时机:我们明确地计划不同条件下创建......
  • 2022年度GitHub中文Java项目排行榜Top 10
    1.mall项目地址:https://github.com/macrozheng/mallmall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。前台商......
  • Java反射机制
    反射特征:动态性编译时候确定不了哪个类的对象比如:后台已经在运行了,但还没有收到前端的请求,这时候,后台收到请求时,使用的是反射机制调用对象反射机制与面向对象的矛盾:不......
  • 洛谷P1090 Java
    [NOIP2004提高组]合并果子/[USACO06NOV]FenceRepairG题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的......
  • Java之微信支付(扫码支付模式二)案例实战-之支付完成后页面跳转方案
    摘要:做过微信扫码支付的同学都知道,微信扫码支付完成后,要跳转到指定的页面就比较麻烦了,这里我提供一种比较可行的方案,也许还有其他更多的方案,但是我这里分享下我们当时是怎么......
  • Java之HttpClient调用WebService接口发送短信源码实战
    摘要Java之HttpClient调用WebService接口发送短信源码实战一:接口文档二:WSDL三:HttpClient方法HttpClient方法一HttpClient方法二HttpClient方法三HttpClient方法四四:封装soap......
  • Java 8 itextpdf 实现 给 pdf 添加水印
    前言给pdf添加水印功能是日常开发中经常会遇到的问题,下面我们就来看看怎么通过Java实现给pdf文件添加水印环境新创建个SpringBoot的项目,然后添加itextpdf的依赖,具体的pom.x......
  • RedisConfig.java--开启缓存支持,配置RedisTemplate,缓存到java虚拟机而非Redis,redis支
    @Configuration@EnableCaching//开启缓存支持publicclassRedisConfigextendsCachingConfigurerSupport{@ResourceprivateLettuceConnectionFactorylettuceC......
  • java23种设计模式概述总结
    软件设计模式的意义:它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的可重用性、代码的可读性和代码的可靠......