当前位置: 首页 > news >正文

开源免费企业网站系统花瓣是模仿哪个网站

开源免费企业网站系统,花瓣是模仿哪个网站,谷歌云可以做网站吗,中山门户网站制作在哪里买Java学习篇之JVM 调优 一、JVM 是什么#xff1f;二、JVM 官方参数建议三、JVM调优的场景四、如何监控JVM五、JVM调优的流程步骤1. 明确优化目标2. 监控和分析3. 确定调优参数4. 实施调优策略5. 持续观察和调整6. 定期评估和优化 一、JVM 是什么#xff1f; JVM#xff0c;… Java学习篇之JVM 调优 一、JVM 是什么二、JVM 官方参数建议三、JVM调优的场景四、如何监控JVM五、JVM调优的流程步骤1. 明确优化目标2. 监控和分析3. 确定调优参数4. 实施调优策略5. 持续观察和调整6. 定期评估和优化 一、JVM 是什么 JVM全称Java Virtual MachineJava虚拟机是一个能够运行Java字节码的抽象计算机。 JVM是Java跨平台特性的核心。Java源代码在编译成字节码后可以在任何支持Java的平台上运行只要该平台安装了相应的JVM。这是因为JVM将Java字节码转换成特定平台上的机器码来执行从而实现了“一次编写到处运行”的跨平台特性。 二、JVM 官方参数建议 JVM 经过这么多年的发展和验证整体是非常健壮的。个人认为99%的情况下基本用不到 JVM 调优。 通常来说我们的 JVM 参数配置大多还是会遵循 JVM 官方的建议例如 1. 堆内存设置 参数描述官方建议/说明-Xms设置JVM的初始堆大小默认为物理内存运行内存的1/64对于高并发应用建议与-Xmx相同-Xmx设置JVM的最大堆大小默认为物理内存运行内存的1/4-Xmn设置年轻代的初始和最大大小默认为整个堆的3/8或使用-XX:NewSize/-XX:MaxNewSize分别设置 2. 年轻代与老年代比例 参数描述官方建议/说明-XX:NewRatio设置年轻代与老年代的比例默认值为2即老年代是年轻代的2倍-XX:SurvivorRatio设置Eden区与一个Survivor区的大小比例默认值为8表示Eden区与Survivor区的比例为8:1 3. 线程堆栈设置 参数描述官方建议/说明-Xss设置每个线程的堆栈大小JDK5.0后默认1MB小型应用可能128KB足够大型应用建议256KB 4. 非堆内存设置 参数描述官方建议/说明-XX:PermSize设置持久代的初始大小JDK8已弃用JDK8前用于控制方法区内存大小-XX:MaxPermSize设置持久代的最大大小JDK8已弃用JDK8前用于控制方法区内存大小-XX:MetaspaceSize设置元空间的初始大小JDK8及以后替代了PermSize用于存放类的元数据-XX:MaxMetaspaceSize设置元空间的最大大小JDK8及以后替代了MaxPermSize 5. 垃圾收集器设置 参数描述官方建议/说明-XX:UseSerialGC使用串行垃圾收集器默认GC方式适用于小型应用和单处理器环境-XX:UseParNewGC在年轻代中使用并行线程进行垃圾收集可以与CMS GC一起使用-XX:UseParallelGC在年轻代中使用并行垃圾收集器适用于多处理器系统-XX:UseParallelOldGC在老年代中使用并行垃圾收集器与-XX:UseParallelGC一起使用-XX:UseConcMarkSweepGC使用CMS垃圾收集器在GC运行时对应用程序影响较小 6. 辅助信息设置 参数描述官方建议/说明-XX:PrintGCDetails打印垃圾收集的详细情况用于调试和性能分析-Xloggc:filename将GC日志信息记录到指定文件便于分析和监控JVM的垃圾回收行为 7. 其他重要参数 参数描述官方建议/说明-XX:MinHeapFreeRatio设置GC事件后允许的最小可用堆空间百分比控制JVM何时扩展堆大小-XX:MaxHeapFreeRatio设置GC事件后允许的最大可用堆空间百分比控制JVM何时收缩堆大小-XX:MaxDirectMemorySize设置Direct ByteBuffer分配的堆外内存的最大大小当达到此大小时将触发Full GC 请注意这些建议是基于Oracle JDK的通用指南并且可能会随着JVM版本的更新而有所变化。 在实际应用中可能还需要根据具体的应用场景、硬件环境和性能需求进行进一步的调整和优化。 同时也需要注意参数的兼容性和稳定性问题。 三、JVM调优的场景 主要就是出现以下情况时就需要注意对JVM进行调优了 当应用程序运行缓慢或出现卡顿或是偶尔响应慢应用程序频繁出现内存溢出OutOfMemoryError或内存泄漏等问题 四、如何监控JVM JVM监控工具分为JDK自带工具和第三方工具两大类。 JDK自带工具常用的jconsole、visualvm第三方工具常用的JProfiler、YourKit JDK自带工具常用命令 jstack pid: 打印堆栈相关执行信息可以用于死锁发现。jinfo pid: 打印进程的启动详细参数、JVM正在使用的参数。jstat -gc pid: 打印各个分代的内存使用情况。可以每个一段时间打印一次。visualvm: windows图形化界面不常用。上线之前内测可以使用。jmap: 如果内存特别大jmap会导致线程的停止所以线上不能使用。 线上时不能dump下来文件因为文件可能很大堆内存占了多少文件就有多大dump时java程序会暂停线上不能dump。 jmap -histo pid | head -n 20 :查找有多少对象产生,及对象占用的内存对象的名称。可用于内存泄露导致的OOM。 五、JVM调优的流程步骤 JVM调优流程步骤可以归纳为以下几点 1. 明确优化目标 在开始调优之前首先需要明确优化的目标。这包括响应时间、吞吐量、内存使用率等指标。明确目标后可以更有针对性地进行调优。 2. 监控和分析 使用监控工具利用Java VisualVM、JConsole、JProfiler等监控工具分析CPU使用率、内存使用情况和垃圾回收频率等指标。 JDK自带工具常用命令 jstack pid: 打印堆栈相关执行信息可以用于死锁发现。jinfo pid: 打印进程的启动详细参数、JVM正在使用的参数。jstat -gc pid: 打印各个分代的内存使用情况。可以每个一段时间打印一次。jvisualvm: windows图形化界面不常用。上线之前内测可以使用。jmap: 如果内存特别大jmap会导致线程的停止所以线上不能使用。 线上时不能dump下来文件因为文件可能很大堆内存占了多少文件就有多大dump时java程序会暂停线上不能dump。 jmap -histo pid | head -n 20 :查找有多少对象产生,及对象占用的内存对象的名称。可用于内存泄露导致的OOM。 分析GC日志通过GC日志了解垃圾回收的频率、停顿时间以及内存使用情况帮助定位性能瓶颈。 例如 -Xloggc:/path/to/gc.log -XX:PrintGCDetails -XX:PrintGCDateStamps这些选项将GC日志记录到指定的文件/path/to/gc.log并打印详细的GC信息和时间戳。 然后我们可以分析GC日志以了解垃圾回收的频率、停顿时间和内存使用情况。例如我们可以查找Full GC的发生频率和每次Full GC的停顿时间。 3. 确定调优参数 根据监控和分析的结果确定需要调整的JVM参数。常见的JVM参数包括 堆内存设置通过-Xms和-Xmx设置初始和最大堆内存大小。 例如 -Xms512m -Xmx512m这将初始堆内存设置为512m最大堆内存设置为512m。两者最好一致 垃圾收集器选择选择合适的垃圾收集器如G1、CMS等以优化内存管理。 例如 选择G1垃圾收集器以优化内存管理和减少停顿时间。 -XX:UseG1GC调整G1垃圾收集器的参数以进一步优化性能。 -XX:MaxGCPauseMillis200 -XX:InitiatingHeapOccupancyPercent35这将G1垃圾收集器的目标停顿时间设置为200毫秒并将触发并发GC的堆占用百分比设置为35%。 线程栈大小通过-Xss设置每个线程的堆栈大小以减少线程上下文切换的开销。 4. 实施调优策略 调整JVM参数根据确定的调优参数调整JVM的启动参数。 例如如果我们在Linux系统上使用java命令启动应用程序我们可以这样设置 java -Xms512m -Xmx512m -Xloggc:/path/to/gc.log -XX:PrintGCDetails -XX:PrintGCDateStamps -XX:UseG1GC -XX:MaxGCPauseMillis200 -XX:InitiatingHeapOccupancyPercent35 -jar myapp.jar优化代码减少不必要的对象创建、使用高效的数据结构、避免过度的同步等都可以显著提升应用的性能。 5. 持续观察和调整 持续监控在调整参数和优化代码后使用监控工具持续观察应用的性能变化。对比性能指标通过对比调优前后的性能指标确认是否达到了预期的优化目标。重新评估和调整如果没有达到目标可能需要重新评估调优策略进行进一步的调整。 6. 定期评估和优化 性能调优是一个持续的过程。随着应用的演变和用户负载的变化可能需要定期重新评估和调整JVM参数。定期的性能测试和监控可以帮助及时发现潜在问题确保系统的稳定性和高效性。 参考文章 【1】面试官如何进行 JVM 调优附真实案例 【2】【JVM】JVM 实战调优指南赋案例保姆篇 【3】JVM调优实例记录 【4】【Java】JVM调优操作手册实战篇 【5】JVM性能优化实战手册从监控到调优策略
http://www.w-s-a.com/news/158457/

相关文章:

  • 泉州开发网站的公司有哪些电脑网页翻译
  • 河北省建设机械会网站首页刚做的网站怎么收录
  • 什么网站专门做自由行的framework7做网站
  • 网页设计与网站建设书籍包头住房与城乡建设局网站
  • 重庆网站建设平台免费猎头公司收费收费标准和方式
  • 形象设计公司网站建设方案书打开一个不良网站提示创建成功
  • 网站手机页面如何做网站关键字 优帮云
  • 免费的黄冈网站有哪些下载软件系统软件主要包括网页制作软件
  • 企业微站系统重庆高端网站建设价格
  • 有没有做衣服的网站吗网站自适应开发
  • 青海省制作网站专业专业定制网吧桌椅
  • 网站开发的项目17岁高清免费观看完整版
  • 手机网站建设多少钱一个门网站源码
  • 重庆 网站开发天津住房和城乡建设厅官方网站
  • 泰安高级网站建设推广厦门高端网站建设定制
  • jsp网站开发引用文献手机seo排名
  • 创建一家网站如何创设计网页的快捷网站
  • 1688代加工官方网站h5开发教程
  • 静态网站源码下载网站怎么显示备案号
  • 网站代码设计网站开发维护任职要求
  • 长寿做网站的电话怎么快速刷排名
  • 上海市中学生典型事例网站邯郸全网推广
  • 厦门网站建设680元好男人的最好的影院
  • 石家庄网站建设设计产品设计专业就业前景
  • 网站移动排名做最好最全的命理网站
  • 网站怎么防黑客杭州市做外贸网站的公司
  • 网站推广公司认准乐云seo易语言做网站登录
  • 配色设计网站推荐网站下拉菜单重叠
  • 内容展示型网站特点在北京注册公司需要多少钱
  • h5网站源代码创意设计理念