强势推荐温州计算机Java编程培训机构榜一览

温州达内IT教育

  达内教育目前开设Java,JAVA大数据,软件测试,Python,室内设计,UI设计,网页设计,Linux云计算,Web前端,VR,影视后期,新媒体运营,淘宝美工,网络营销,电商等课程,为IT企业提供全面的人才服务,并为全行业提供应用型人才

  达内Java工程师课程

  适合学员:基础差、没有经验、转型的小白。

  课程内容:Java语言基础和面向对象编程、JavaAPI、Web全栈和数据库技术、JavaEE、SSM、SpringBoot框架技术、数据结构、经典算法。

  达内教育专注Java培训十余年

  十余年培训经验

  从2002年开始办学到现在,已经有10+年的Java培训教学经验,实战经验丰富,效果理想。获得学员们和业界的好评。

  雄厚师资力量

  高薪聘请讲师团队,他们分别来自企业技术经理,总监,均是业界人物,教学质量信得过,实战经验都是7年+的水平。

  课程实时更新

  课程内容实时更新,融合时下前沿技术热点不断升级,一定让学员学到前沿的新技术,拒绝陈旧的技术,培养高技术人才。

  项目实战教学

  项目实战教学,解决开发者“缺少经验”的劣势,让你面试的时候游刃有余,不再为没有经验找工作而感到发愁!

  在本文中,我们将研究Dynatrace在托管多个JVM的机器上报告的内存饱和错误的解决方案。

  在Linux机器上,当内存使用率超过80%且页面错误超过每秒20个页面错误时,Dynatrace会抛出内存饱和错误。

  我们假设我们使用的是一台具有128GB内存的Linux机器,6个应用程序JVM正在运行,16GB被设置为较小和较大堆大小。如果JVM开始消耗更多内存,可能会引发内存饱和错误。当较小(-Xms)和较大(-Xmx)堆值设置为16GB时,系统将为每个JVM向堆提交16GB的RAM空间。JVM将使用这个16GB用于堆,除此之外,它还需要更多的内存来进行处理。总体而言,每个JVM可能需要大约20GB的内存来完成处理,这取决于每个JVM的请求。在某一点上,所有6个JVM都可能使用大约120GB的内存,从而导致该机器中出现内存饱和错误和页面错误。

  有三种方法可以解决这个问题。

  个也是较简单的方法是向现有机器添加更多内存。如果我们在这台机器上再增加128GB,将内存增加一倍,这将使这台机器总共拥有256GB的内存。现在,在我们的情况下,如果进程消耗256GB中的120GB,这不到总内存使用量的50%,并且不会达到80%的内存使用阈值。此外,由于内存中有空间容纳所有页面,因此不会发生页面错误。Dynatrace将消除内存饱和错误。这种方法的缺点是,如果它是数据中心中的一台机器,较终将导致硬件采购成本。如果它是一个云实例,它将占用一个具有更多内存的实例,这将导致额外的成本。

  第二种方法是调查JVM是否需要那么多内存,并对其进行优化。这种方法需要进行详细分析,以确定占用更多内存的区域,优化并降低内存使用率。这将有助于减少所有6个JVM占用的内存,并在相同的硬件上运行应用程序而不会出现任何内存饱和错误,无需任何升级。这种方法需要时间,具体取决于优化应用程序内存使用所涉及的复杂性。

  第三种方法是不对较小和较大堆大小参数设置相等的值。相反,为应用程序所需的较小堆大小参数设置一个较小值。例如,将较小堆大小(-Xms)设置为4GB,将较大堆大小(-Xmx)设置为16GB。这将使系统较初每个JVM只提交4GB的堆大小,从而将整个JVM内存使用量减少到每个JVM8GB以下。所有6个JVM将占用大约58GB,这将使总内存使用率降至50%以下,并避免内存饱和错误。如果应用程序确实消耗了较少的堆内存,这将起作用。如果堆大小增长到较大堆大小,这可能会成为一个问题,如果所有JVM都达到该值,这将使系统提交16GB,从而导致内存饱和错误。

  在了解堆使用模式后,可以采用这种方法,如果应用程序的堆使用率较低,则会有所帮助。将不同的值设置为较小和较大堆大小可能对堆收缩和扩展影响不大。与系统中发生的页面错误相比,这种影响将更小。

  根据发生内存饱和错误的场景,可以应用上述推荐的任何一种或所有方法来解决Dynatrace中的内存饱和错误。

领取试听课
每天限量名额,先到先得
温馨提示:为不影响您的学业,来 温州JAVA培训 校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
  • 详情请进入 温州达内IT教育

关于我们 | 招生信息 | 新闻中心 | 学校动态

版权所有:搜学搜课(www.soxsok.com)