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

东莞容桂网站制作北海哪家做网站

东莞容桂网站制作,北海哪家做网站,好男人视频在线观看免费直播,近年来互联网公司排名背景 在用 Excel Importer 导入数据#xff0c;当数据量超过 1w 行#xff0c;经常会出现 OutOfMemory 的错误。#xff08;用 Excel Exporter 导出数据时#xff0c;也会有类似问题#xff09;。 通常的表现症状如下#xff0c;即在导入成功若干行之后#xff0c;爆出…背景 在用 Excel Importer 导入数据当数据量超过 1w 行经常会出现 OutOfMemory 的错误。用 Excel Exporter 导出数据时也会有类似问题。 通常的表现症状如下即在导入成功若干行之后爆出 java.lang.OutOfMemoryError: Java heap space 错误。 以下为某客户发生此类错误的具体信息 日志问题如下 只截取关键部分 该问题只发生在客户的测试环境在本机开发环境不出现。测试环境部署在私有云里用 docker 部署的。当导入数据量为 2W 行以上时该错误总是发生在导入成功 1.2w 左右的时刻出现。如果数据量少于 1w 行此问题不出现。 本文我们来看看如何解决 java.lang.OutOfMemoryError: Java heap space 错误。 什么是 Java Heap Size ava Heap Size是Java虚拟机JVM的一项配置参数用于指定JVM运行时的堆内存大小。堆内存是Java程序中用于存储对象实例和数组的一块内存区域。在Java程序执行过程中所有动态创建的对象都存储在堆内存中。 Java Heap Size对于Java程序的性能和稳定性非常重要。如果堆内存太小可能导致内存不足错误Out of Memory Error因为JVM无法满足程序运行所需的内存。另一方面如果堆内存太大会导致垃圾回收频繁运行影响程序的响应时间和性能。 通过调整Java Heap Size可以根据应用程序的需求来优化内存的使用。通常较大的堆内存对于内存密集型的应用程序如大规模数据处理是有益的而对于较小的应用程序如轻量级服务可能需要较小的堆内存。 在Java中可以通过以下参数来设置Java Heap Size Xms: 指定JVM的初始堆内存大小。Xmx: 指定JVM的最大堆内存大小。 示例 java -Xms256m -Xmx1024m MyApp 上述命令将启动名为MyApp的Java应用程序并将初始堆内存大小设置为256MB最大堆内存大小设置为1024MB。 通常有哪些原因导致这个错误呢 通常有两种原因 Java Heap Size 确实设置的太小了。应用发生内存泄漏导致在短时间内产生大量无法被 GC 的对象。 在本场景中我们先排查第一个原因因为 首先本问题发生在 Excel Importer 内部本模块被下载过上万次且由官方维护这么多年出现问题的概率很小。我不是说官方组件一定不会出问题但是从概率排查的角度我们首先检验更脆弱的部份而不是更稳固的部份这是缺少其他信息时的最优选择。其次本问题发生在 Excel Importer 内部我们没有源代码。就算确认了是 Excel Importer 的问题我们的第一选择也应该是从外部规避它只有这样才能保证项目按时完工。 验证问题 为了验证原因是否真的 Java Heap Size 设置的过小我做了两个尝试 降低本地开发环境 Mendix Studio Pro 中 Java Heap Size 的大小看是否能重现该错误。设置方式如下在本地开发环境导入一个 10w 行的 excel 文件看是否能重现该错误。 经过上述实验我发现当我把 Java Heap Size 设置为 512MB 时导入数据到 2w 条时会爆出同样的错误。 这个现象证明确实是 Java Heap Size 太小导致。 如何修复问题 修复思路很简单就是更改 Java Heap Size。 在 docker-mendix-buildpack 的文档中我们知道通过下属方式可以更改容器的环境变量 我们在打开上图中的链接进入 cf-mendix-buildpack 的文档docker-mendix-buildpack 在运行时会调用 cf-mendix-buildpack我们知道可以如下方式来设置 Java Heap Size 于是我们用以下命令来启动容器 docker run -it \ -e HEAP_SIZE4096M ... 但是我们发现仅设置 HEAP_SIZE 这个环境变量后问题依然没有解决。 后来阅读 cf-mendix-buildpack 的代码我发现 如果未设置 HEAP_SIZE则是可以根据 limit 被自动设置。且如果 HEAP_SIZE 超过 limit是不行的。 于是我找到设置 limit 的方法即设置 MEMORY_LIMIT 这个环境变量。 于是我们用以下命令来启动容器 docker run -it \ -e MEMORY_LIMIT4096M ... 最终成功解决问题 总结 分析问题原因时首先检验更脆弱的部份而不是更稳固的部份这是缺少其他信息时的最优选择。做少量的实验可以更加笃定问题的根本原因而不是靠盲目猜测。开源工具多看源码你会有不一样的收获。 关于Mendix公司 在一个数字化先行的世界中客户希望自己的每一项需求都得到满足员工希望使用更好的工具来完成工作而企业意识到自己只有通过全面数字化转型才能生存并取得成功。Mendix公司a Siemens business正在迅速成为企业数字化转型的推动者。其业内领先的低代码平台和全方位的生态系统整合最先进的技术帮助企业创造出提高互动性、简化操作和克服IT瓶颈的解决方案。Mendix公司以抽象化、自动化、云和协作为四大支柱大幅提升开发者的生产力并且依靠自己的工程协作能力和直观的可视化界面帮助大量不熟悉技术的“公民”开发者在他们所擅长的领域创建应用程序。Mendix公司是权威行业分析师眼中的领导者和远见者也是一个云原生、开放、可扩展、敏捷和饱经考验的平台。从人工智能和增强现实到智能自动化和原生移动Mendix公司已成为数字化先行企业的骨干。Mendix公司企业低代码平台已被全球4000多家领先的公司采用。
http://www.hkea.cn/news/14388370/

相关文章:

  • 搞笑证书图片在线制作seo百度关键词优化
  • 网站所有页面只显示域名济南万速网站建设
  • 编辑网站的软件手机软件宁波做公司网站
  • 网站建设400电话三只松鼠网站建设
  • 网站设计美工排版编辑微信可以怎么创建账户网站
  • 网站建设需要了解哪些方面企业地址管理系统
  • 前端网站论文公众号推广代理
  • 东莞哪里建设网站好新媒体运营工资一般多少
  • 网站地链接结构做asp网站的实验收获
  • 专业做调查的网站wordpress短代码插件
  • 怎么做关不掉的网站wordpress 企業網
  • 百度网站推广怎么样站长如何做导航网站
  • 有哪些程序做的网站网站建设与服务技能实训心得体会
  • 海口网站建设维护asp.net企业网站管理系统
  • 网站建设方案书1500一周热点新闻
  • 商业信息网站大全如何将自己做的网站导入淘宝
  • 莱芜0634技术支持 宿州网站建设官方网站建设 省心磐石网络
  • 网站建设最新报价seo交流中心
  • ps 做网站切图微商引流推广平台
  • 书生网站提供扬中网站建设
  • 山东省建设局网站监理员考试wordpress缩略图特效
  • 门户网站的主要功能英语seo什么意思
  • 免费网站建立wordpress上传歌曲
  • 江苏网站设计电商网站图片是谁做
  • 个人网站广告联盟搭建外贸公司论坛
  • 文化传媒有限公司 网站建设做百度网站需要什么条件
  • 东莞哪家做网站比较好做一些购物网站
  • 电子商务网站建设含义东莞网站建设设计公司哪家好
  • cms 网站东营新闻最新消息今天
  • w3c标准网站可视化数据平台