Palai

Palai

程序员 | 开源爱好者 | 喜欢交友

堆内存溢出-实习小记

背景:调研平台 供内部查询资料和文献等#

正式环境报错,显示 oom-Java heap space ,先是检查了有没有创建大对象或者是递归的代码,然后适当扩大下内存。打开任意的 pdf 都失败,可能是内存没有释放(怀疑读 pdf 的工具有 bug) 用 jconsole 来看了一下程序执行时候的内存变化情况,内存是一致在增加的,本地分析一直在创建对象。分析堆内存快照,(XX:+HeapDumpOnOutOfMemoryError 堆内存溢出时的快照 后面可以加路径), 初步分析是持续调用生成字体字体对象的接口,也就是持续创建了字体对象。
找到源头就好办了,找到该接口持续创建对象的代码,应该是提出去做一个静态变量,而不是每次都在静态函数里面 new

ps: 第一次生产上遇见堆内存溢出,也是蛮兴奋的。 (只不过编辑的格式太烂了,还是得练练这方面)

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。