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

高端自适应网站设计js特效网站

高端自适应网站设计,js特效网站,我的网址,php个人网站源码下载程序中 设置jvm 参数在撰写本文时#xff08;2020年3月#xff09;#xff0c;围绕垃圾收集和内存#xff0c;您可以将600多个参数传递给JVM。 如果您包括其他方面#xff0c;则JVM参数总数将很容易超过1000个。 #x1f60a;。 任何人都无法消化和理解太多的论据。 在本… 程序中 设置jvm 参数 在撰写本文时2020年3月围绕垃圾收集和内存您可以将600多个参数传递给JVM。 如果您包括其他方面则JVM参数总数将很容易超过1000个。 。 任何人都无法消化和理解太多的论据。 在本文中我们重点介绍了七个重要的JVM参数您可能会发现它很有用。 1. -Xmx和-XXMaxMetaspaceSize -Xmx可能是最重要的JVM参数。 -Xmx定义要分配给应用程序的最大堆大小。 要了解JVM中的不同内存区域您可以观看此短片 。 您可以这样定义应用程序的堆大小 -Xmx2g 堆大小在确定您的 一个。 应用性能 b。 Bill您将从云提供商AWSAzure等获得收益 这带来了一个问题我的应用程序正确的堆大小是多少 我应该为应用程序分配大堆大小还是小堆大小 答案是“取决于”。 在本文中 我们分享了我们的想法无论您需要使用大堆还是小堆。 You might also consider reading this article: advantages of setting -Xms and -Xmx to same value. 元空间是将存储JVM的元数据定义例如类定义方法定义的区域。 默认情况下可用于存储此元数据信息的内存量是无限的即受您的容器或计算机的RAM大小的限制。 您需要使用-XXMaxMetaspaceSize参数来指定可用于存储元数据信息的内存量的上限。 -XX:MaxMetaspaceSize256m 2. GC算法 截止到2020年3月OpenJDK中有7种不同的GC算法 一个。 串行GC b。 平行气相色谱 C。 并发标记和扫描GC d。 G1 GC e。 雪兰多GC F。 Z气相色谱 G。 Epsilon GC 如果您未明确指定GC算法那么JVM将选择默认算法。 在Java 8之前并行GC是默认的GC算法。 从Java 9开始G1 GC是默认的GC算法。 GC算法的选择对于确定应用程序的性能起着至关重要的作用。 根据我们的研究我们正在使用Z GC算法观察到出色的性能结果。 如果使用JVM 11则可以考虑使用Z GC算法即-XX UseZGC。 有关Z GC算法的更多详细信息请参见此处 。 下表总结了激活每种垃圾收集算法所需传递的JVM参数。 GC算法 JVM参数 串行GC -XX UseSerialGC 平行气相色谱 -XX UseParallelGC 并发市场和扫描CMSGC -XX UseConcMarkSweepGC G1 GC -XX UseG1GC 雪兰多GC -XX使用ShenandoahGC Z气相色谱 -XX UseZGC Epsilon GC -XX UseEpsilonGC 3.启用GC日志记录 垃圾收集日志包含有关垃圾收集事件回收的内存暂停时间段等信息您可以通过传递以下JVM参数来启用垃圾收集日志 从JDK 1到JDK 8 GC算法 从JDK 9及更高版本开始 GC算法 例 GC算法 通常GC日志用于调整垃圾回收性能。 但是GC日志包含重要的微观指标。 这些指标可用于预测应用程序的可用性和性能特征。 在本文中我们将重点介绍一种这样的测微“ GC吞吐量 ”要了解其他可用的测微的更多信息请参考本文 。 GC吞吐量是您的应用程序在处理客户交易中花费的时间与它在处理GC活动中花费的时间之比。 假设您的应用程序的GC吞吐量为98则意味着应用程序将其98的时间用于处理客户活动其余2用于GC活动。 现在让我们看一个健康的JVM的堆使用情况图 图健康JVM的堆使用情况图由https://gceasy.io生成 您会看到一个完美的锯齿图案。 您会注意到当运行Full GC红色三角形时内存利用率会一直下降到最低。 现在让我们看一下有问题的JVM的堆使用情况图 图Sick JVM的堆使用情况图由https://gceasy.io生成 您可以注意到在图形的右端即使GC重复运行内存利用率也没有下降。 这是该应用程序正在遭受某种内存问题的经典征兆。 如果您仔细观察一下该图您会发现重复的完整GC大约在上午8点开始发生。 但是该应用程序仅在上午8:45左右开始获取OutOfMemoryError。 到上午8点该应用程序的GC吞吐量约为99。 但是在早上8点之后GC吞吐量开始下降到60。 因为当重复的GC运行时该应用程序将不会处理任何客户交易而只会进行GC活动。 作为一项主动措施如果您发现GC吞吐量开始下降则可以从负载平衡器池中取出JVM。 这样运行状况不佳的JVM将不会处理任何新的流量。 它将最大程度地减少对客户的影响。 图重复的完整GC发生在OutOfMemoryError之前 您可以使用GCeasy REST API实时监视与GC相关的微米。 4. -XX HeapDumpOnOutOfMemoryError-XXHeapDumpPath OutOfMemoryError是一个严重的问题它将影响您的应用程序的可用性/性能SLA。 为了诊断OutOfMemoryError或任何与内存相关的问题必须在应用程序开始遇到OutOfMemoryError的那一刻或一瞬间捕获堆转储。 由于我们不知道何时会抛出OutOfMemoryError因此很难在抛出异常的那一刻左右手动捕获堆转储。 但是可以通过传递以下JVM参数来自动化捕获堆转储 -XX HeapDumpOnOutOfMemoryError和-XXHeapDumpPath {HEAP-DUMP-FILE-PATH} 在“ -XXHeapDumpPath”中您需要指定堆转储所在的文件路径。 当您传递这两个JVM参数时将在抛出OutOfMemoryError时自动捕获堆转储并将其写入定义的文件路径。 例 GC算法 一旦捕获了堆转储就可以使用HeapHero和EclipseMAT之类的工具来分析堆转储。 有关OutOfMemoryError JVM参数的更多详细信息可以在本文中找到。 5. -Xss 每个应用程序将具有数十数百数千个线程。 每个线程都有自己的堆栈。 在每个线程的堆栈中存储以下信息 一个。 当前执行的方法/功能 b。 原始数据类型 C。 变数 d。 对象指针 e。 返回值。 他们每个人都消耗内存。 如果它们的使用量超出某个限制则会引发StackOverflowError。 有关StackOverflowError及其解决方案的更多详细信息请参见本文 。 但是可以通过传递-Xss参数来增加线程的堆栈大小限制。 例 GC算法 如果将此-Xss值设置为一个很大的数字则内存将被阻塞并浪费。 假设您将-Xss值指定为2mb而它只需要256kb那么您将浪费大量的内存而不仅仅是1792kb即2mb – 256kb。 你想知道为什么吗 假设您的应用程序有500个线程然后-Xss值为2mb则您的线程将消耗1000mb的内存即500个线程x 2mb /线程。 另一方面如果您仅将-Xss分配为256kb那么您的线程将仅消耗125mb的内存即500个线程x 256kb /线程。 每个JVM将节省875mb即1000mb – 125mb内存。 是的它将产生巨大的变化。 注意线程是在堆即-Xmx之外创建的因此这1000mb将是您已经分配的-Xmx值的补充。 要了解为什么在堆外部创建线程您可以观看此简短视频片段 。 我们的建议是从一个低值例如256kb开始。 使用此设置运行彻底的回归性能和AB测试。 仅当您遇到StackOverflowError时才增加该值否则请考虑坚持较低的值。 6. -Dsun.net.client.defaultConnectTimeout和-Dsun.net.client.defaultReadTimeout 现代应用程序使用多种协议即SOAPRESTHTTPHTTPSJDBCRMI…与远程应用程序连接。 有时远程应用程序可能需要很长时间才能做出响应。 有时它可能根本不响应。 如果没有正确的超时设置并且远程应用程序的响应速度不够快则您的应用程序线程/资源将被卡住。 远程应用程序无响应可能会影响应用程序的可用性。 它可以使您的应用程序停止磨削。 为了保护应用程序的高可用性应配置适当的超时设置。 您可以在JVM级别传递这两个强大的超时网络属性这些属性可以全局适用于所有使用java.net.URLConnection的协议处理程序 sun.net.client.defaultConnectTimeout指定建立到主机的连接的超时以毫秒为单位。 例如对于HTTP连接这是建立与HTTP服务器的连接时的超时。 当建立与资源的连接时 sun.net.client.defaultReadTimeout指定从输入流读取时的超时以毫秒为单位。 例如如果您要将这些属性设置为2秒 GC算法 注意默认情况下这两个属性的值为-1这表示未设置超时。 有关这些属性的更多详细信息请参见本文 。 7. -Duser.timeZone 您的应用程序可能在某个时间/日期有敏感的业务需求。 例如如果您正在构建交易应用程序则无法在上午9:30之前进行交易。 为了实现那些与时间/日期相关的业务需求您可以使用java.util.Datejava.util.Calendar对象。 默认情况下这些对象从基础操作系统中获取时区信息。 这将成为一个问题 如果您的应用程序在分布式环境中运行。 查看以下方案 一个。 如果您的应用程序跨多个数据中心例如旧金山芝加哥新加坡运行则每个数据中心中的JVM最终将具有不同的时区。 因此每个数据中心中的JVM将表现出不同的行为。 这将导致结果不一致。 b。 如果要在云环境中部署应用程序则可能会在您不知情的情况下将应用程序移动到其他数据中心。 同样在这种情况下您的应用程序最终将产生不同的结果。 C。 您自己的运营团队还可以更改时区而无需掌握开发团队的知识。 它还会歪曲结果。 为避免这些麻烦强烈建议使用-Duser.timezone系统属性在JVM上设置时区。 例如如果您想为应用程序设置EDT时区则将执行以下操作 GC算法 结论 在本文中我们试图总结一些重要的JVM参数及其积极影响。 我们希望您会发现它对您有所帮助。 翻译自: https://www.javacodegeeks.com/2020/03/7-jvm-arguments-of-highly-effective-applications.html程序中 设置jvm 参数
http://www.pierceye.com/news/853724/

相关文章:

  • 微信网站界面如何免费创建自己的平台
  • 电商设计一般都是做什么潍坊网站seo外包
  • 大城怎么样做网站雄安建设工程信息网站
  • 郑州网站建设方案服务安全狗iis版删了以后 网站打不开
  • 忻州网站制作jsp小型网站开发代码
  • 如何外贸网站推广wordpress默认主题哪个好
  • 设计网站推荐提升审美网站建设的公司
  • 张浦专业做网站网站建设案例百度云
  • 佛山网站如何制作网站建设公司哪家强
  • 韩城市网站建设编程培训机构加盟哪家好
  • 已备案网站更换域名广东工厂网站建设
  • 营销型网站有哪些特点建设官方网站的费用账务处理
  • 区域网站设计WordPress无法发布
  • html网站开发主要涉及哪些技术百度域名的ip
  • 织梦网站数据下载wordpress如何播放百度云视频
  • 建站的费用服务器搭建网站环境
  • 查看公司信息的网站旅游网站效果图
  • 娄底网站制作重庆专题片制作
  • 网站建设佰金手指科杰十七织梦淘客网站
  • 财务系统seo西安
  • 如何做好网站建设的关键重点网站地图那么建设
  • 打开山东城市建设职业学院网站自己网站做优化的有权利卖么
  • 境外电商网站建设sem推广优化
  • 五站合一自建网站制作网站用什么软件有哪些
  • 查法人信息的网站开发公司一季度汇报
  • 国外的购物网站有哪些安徽省住房和城乡建设厅官方网站
  • 网站策划需要什么能力网页游戏平台软件
  • phpmysql网站开发网络结构
  • 微官网和移动网站区别论坛网站建设多少钱
  • 怎么做公司网站优化凡科h5登录入口