首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4800383/blog/4899724

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

一次CPU占用1600%问题的定位过程 与 反思

一次CPU占用1600%定位过程与反思 起因 经过一次稍微大的改版后,系统上线,上线后测试没发现问题,第二天反馈系统卡顿,下线。 检查系统问题 ,优化接口速度 上线,上线后发现没问题,第二天依旧出现卡顿。此时观察CPU占用1600%.此时想到的时先回滚。没有保留现场。 测试环境测试,发现cpu空闲时占用100% 找到问题 修复。但是可以确定,这里100%不是引起1600%的原因。 再次上线,人工实时监控cpu占用率。此时出现了1600%的情况。此时占用cpu 1600%的进程对应的线程如下. 6619 6625 等是占用最高的进程Id. 对JVM栈信息进行打印 并输出到文件。 6619转成16进制后为19db 根据进程号在栈文件中搜 如下图所示 最后发现占用cpu高的全部为gc进程 ,此时可以判定。有部分代码逻辑内存占用过高。或者出现内存泄漏。 寻找问题 此时已经连续三次上线失败,没办法在从线上测试。那么想的是在灰度环境模拟这个现象 然后dump堆信息 这样肯定可以找到原因。 第一天 转移很少一部其他系统流量,以及很少一部分用户流量过去,没发现问题。 第二天 其他系统请求的流量保持不变...

遇到代码缺陷不要慌,马上教你快速检测和修复

摘要:人类思维中总存在缺陷,写出的代码一样会存在缺陷,导致软件系统出现不符合预期的行为。本文讨论了软件缺陷的定义、分类、检测和修复。 人类思维中总存在缺陷,写出的代码一样会存在缺陷,导致软件系统出现不符合预期的行为。自动化地检测和修复缺陷是提高软件开发效率和软件质量的重要手段。本文讨论了软件缺陷的定义、分类、检测和修复。 软件缺陷与其分类 计算机学科中的中文词汇很多是从英文翻译过来的,有时不能够准确地描述或刻画词汇真实的含义。在软件领域,你能想到的和缺陷相关的词汇可能有:bug,defect,fault,error,failure,exception等等。说实话,我一直也没搞懂这些词汇的区别。但理解这些词汇的区别不仅仅是文字游戏,也能够帮助我们理解针对它们的检测和修复技术的不同。于是我google了一下,但大多文章对这些词汇的定义都不太一致。以下是我比较认同的这些词汇在软件代码上的定义。 · Fault/Bug:软件中出现不符合业务逻辑的代码,比如+号写成-号; · Error:软件运行中出现不符合预期的值,比如a的值为2,被计算成3; · Failure:软件与人的交互中出现不符合预...

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册