不要想歪了, 这个恐龙是那些古老的庞大项目. 有多大呢?
最新鲜的数据, 正好在做sccs转svn, 大概有8万多次提交. 大概八年的项目.
库有1G左右,都是代码和代码历史..
这里记录一些与恐龙共舞的经验, 不愉快的记忆最容易被遗忘, 还是记录一下.
1. 内存报警
这个报警是个老问题, 很多客户都有这个问题, 是个老大难. 以前有人改过, 貌似没用. 轮到我接手, 硬着头皮上吧.
首先看代码....晕....这个代码风格, 不, 应该说整个项目都是, 文档几乎没有了. 有也对不上, 在无数的改进和bug fix以后几乎惨不忍睹. 惨点还不算, 还不能format代码, 因为代码变化太大, diff出来没法看. 这个不同的缩进, linux, windows, vim, eclipse下不同的工具下出来的代码真是百花齐放. 后来我找到诀窍. format之后再还原.
代码很晕, 谁知道哪段代码把内存的肚子搞大了....还是先看现象吧.
现象机器上还好有不少log, 长长的一串数据...晕啊都是告警, 要么high, 要么crtical...性能监控居然没有内存和cpu采集....
晕了一天以后, 还没解决问题. 再看log, 先看看告警和时间的关系吧:
一个告警是三行, 似乎不能直接进excel画图. 还好告警之间是两个\n, ultraedit, 替换两个\n为特殊符号, 然后替换一个\n为\t, 再把特殊符号替换成\n, 笨办法, 凑合吧.
进了excel, 很好, 画三点图, x为时间, 纵轴high为1, critial为2
曲线居然是长城形状的?!偶尔会有烽火台, 我k. 原来这么壮观 .
数据太多, 曲线拉宽......无限宽以后, 远看长城锯锯齿, 近看长城....是几个点!
越来越诡异了, 十分钟一个城垛, 每个城垛大概6分钟, 里面有大概6个点左右.
好了, 这个现象超级诡异, 再研究一下系统的内存吧.
=============
内存研究: jdk1.6现在带了一个visual vm, java写的, 配合数据采集工具, 能做内存长期监控, 能做heap dump. 另外一个近亲是netbeans, 功能非常类似. eclipse的tptp也能干这个, 还有几个商业软件, 咱们就不盗版了. 因为在solaris上面, tptp没现成的可用.就visualvm吧, dump内存发现很多意外的东西, 这个就不多说了, 时间长了这些玩意还能被回收掉. 暂时忽略. 开始很多人都怀疑jvm内存泄漏. 监控了很久发现垃圾回收很正常, 空载的时候大概一个小时回收一次, 出现大锯齿循环. 貌似正常.
负载很重会怎样? 锯齿变陡峭, 很快就回收. 频率在十几分钟吧. 怎样? 联想到什么?
=================
OK, 暂时猜测, 负载重了就告警, jvm垃圾没来得及回收告警就升级.
好, 再钻进代码垃圾中找找, 哦, 果然, 这个代码很有趣, 如果剩余内存少到一定比例, 开始log, 再高的话high告警, 再高就critical告警. 检测周期大概一分钟.
怎么修正? 这似乎是垃圾回收的正常行为. 那告诉jvm,你必须把内存控制在多少以内? jvm好像不鸟你. k, 这种内存level告警也过于想当然, java内存用多少都有可能啊, 只要内存没超出, 最后正常收回去就完了嘛.
这里也不是完全绝望的, java7会有更好的垃圾回收机制, 说不定将来能用. 现在, 修改垃圾回收机制, 采用新一点的, 渐进收集, 这个曲线出来就像一个大牛市, 里面有很多小震荡, 逐步走高, 然后再来个大熊市...
另外, 该进内存检测, 提高最大内存, 内存在将要告警的时候强制回收一次. 加大负载后因为总内存已经增加, 不会造成特别频繁的垃圾回收.
OK, 睡觉了
还有点事情, 内存里面的确有垃圾, 算了吧.有空再收拾. 成熟的产品有bug也不能乱修. 弄不好要影响已有客户.
人世间最大的痛苦不是找不到问题, 也不是找到问题不会修正问题, 而是找到问题, 可以修正, 却不能修正...
分享到:
相关推荐
64--[恐龙吃萝卜].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码64--[恐龙吃萝卜].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码64--[恐龙吃萝卜].zip源码scratch2.0 3.0编程项目源文件源码案例...
72--[恐龙喷火].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码72--[恐龙喷火].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码72--[恐龙喷火].zip源码scratch2.0 3.0编程项目源文件源码案例素材源...
[操作系统概念.(操作系统恐龙书)].Silberschatz.Galvin.Operating.System.Concepts.7th.ED
小恐龙公文排版助手是一款电脑端公文排版助手软件,小恐龙公文排版助手专为公文排版而开发,再此基础上比Microsoft Word更加出色,小恐龙公文排版助手快速设置页面版式、快速设置常用文字格式、插入常用符号、版记、...
[操作系统概念.(操作系统恐龙书)].Silberschatz.Galvin.Operating.System.Concepts.7th.ED
谷歌小恐龙的自动代码.txt
在信息化办公的时代,公文的规范与效率显得尤为重要。"小恐龙公文助手"是针对这一需求应运而生的一款专业软件,其1.8.5.0智能安装版更是集成了多项功能优化,为用户提供了一站式的公文处理解决方案。这款工具不仅...
恐龙无处不在教学设计.doc
[操作系统概念.(操作系统恐龙书)].Silberschatz.Galvin.Operating.System.Concepts.7th.ED.part3
[操作系统概念.(操作系统恐龙书)].Silberschatz.Galvin.Operating.System.Concepts.7th.ED.part4
中班语言:恐龙妈妈藏蛋.doc
恐龙展产品资料.xls
"小恐龙公文助手1.8.1.3智能安装版[正式版].zip" 是一个专门为处理公文工作设计的软件工具的压缩包。这个版本号表明它是一个经过优化和改进的1.8.1.3版,而且是智能安装版本,意味着它可能包含了自动配置和适应用户...
总的来说,这份教案结合了科学知识与艺术创作,旨在激发孩子们对恐龙世界的好奇心,提高他们的观察力和创造力,同时也让他们了解到自然科学与艺术之间的紧密联系。通过这样的教学活动,孩子们不仅能学习到恐龙化石的...
chrome小恐龙_blank2.sb3
Python谷歌小恐龙--Pygame.zip
2017中华恐龙园导游词.pdf
最全恐龙名字以及图片.doc
1. 中华恐龙园位置:中华恐龙园位于中国江苏省常州市新区现代旅游休闲区内,是一个以恐龙为主题的综合性旅游景点。 2. 投资与规模:园区一期投资3亿人民币,占地面积达到500亩,是经过两年多建设而成的大型主题乐园...