我们在开发时,测的好好的,然后上测试,上生产环境,当数据量一大时,或并发大时,就会造成各种各样的问题。
如业务逻辑上的问题,造成这种原因是前期没有沟通好,或细节没有考虑那么全面,没考虑到这种情况的存在。
当然也包括技术上的问题,如内存泄露,程序假死,CPU过高等,造成这种原因是没有测试好。
解决这样的问题,一些实用命令,操作,工具如下。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
jmap -histo pid
查看堆内存(histogram)中的对象数量,大小
num #instances #bytes class name
序号 实例个数 字节数 类名
----------------------------------------------
1: 3174877 107858256 [C
2: 3171499 76115976 java.lang.String
3: 1397884 38122240 [B
4: 214690 37785440 com.test......Book
5: 107345 18892720 com.test....Book
6: 65645 13953440 [Ljava.lang.Object;
7: 59627 7648416 <constMethodKlass>
8: 291852 7004448 java.util.HashMap$Entry
9: 107349 6871176 [[B
看看自己包下的类的个数是否有异常?
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
判断JVM垃圾回收是否正常,是不是在频繁的进行,垃圾回收?
jstat -gcutil pid 1000 5
S0 S1 E O P YGC YGCT FGC FGCT GCT
73.54 0.00 99.04 67.52 98.49 166 0.252 6 0.331 0.583
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
jstack <pid> 查看线程运行情况。
例如,查找关键字,
Wait on condition
Waiting for monitor entry 和 in Object.wait()
deadlockthreads
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
生产DUMP文件,分析。
jmap -dump:format=b,file=heap.bin <pid>
dump文件可以通过MemoryAnalyzer分析查看,网址:http://www.eclipse.org/mat/,可以查看dump时对象数量,内存占用,线程情况等。
但这样存在一种问题,当JVM挂掉的时候,执行此命令,会存在无响应情况
解决方法是,在JVM启动时加参数
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=${} 这样可以在发生down机的情况下,先生成dump(未验证)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
以上都是简略的提示,具体情况还要具体分析。
分享到:
相关推荐
(1)BUGFREE好文章 (2)cisco技术 (3)loadrunner脚本录制 (4)loadrunner序列号 (5)PIX基本配置 (6)VSS简单入门 (7)web测试技术经典案例 ...(14)在 Windows xp 上安装 GreenAMP 和 BugFree 的详细步骤 (15)其他
安装bugfree出现的问题,我在自己安装的时候出现了不少问题,在收集了好多解决方案并成功。
BugFree3.0版将浏览器、如何发现、Bug 类型等字段全部从基本字段移除,基本字段只保留标题、模块路径、指派给、抄送给、复现步骤等常用字段。其它都通过自定义字段来扩展。可以针对自定义字段设定可编辑阶段(新建、...
bug提交规范 缺陷概述,缺陷操作步骤,预期结果,实际结果,已解决,已关闭,重新打开
1. **缺陷记录**:开发人员和测试人员可以使用Bug管理系统记录他们在软件开发和测试过程中发现的缺陷信息,如Bug描述、复现步骤、优先级、严重程度等。 2. **分配和跟踪**:每个Bug都会被分配给相应的开发人员或...
事项追踪Bug追踪过程中需要注意的事项软件测试◆尽量减少重现的步骤以达到用最少的步骤来重现问题;这对编程人员来说是很有帮助发现问题根源的。... ◆在将bug解决时要分清楚解决的方式。一般的bug系统允许你
追踪Bug追踪过程中需要注意的几个问题软件测试◆尽量减少重现的步骤以达到用最少的步骤来重现问题;这对编程人员来说是很有帮助发现问题根源的。... ◆在将bug解决时要分清楚解决的方式。一般的bug系统允许你
61、简述负载测试与压力...对于不能解决和延期解决的 Bug,不能由开发人员自己决定,一般要通过某种会议(评审会) 通过才能认可。 测试人员查询状态为 Fixed 的Bug,然后验证Bug是否已解决,如解决,置Bug的状态为
使用powerdesigner配置oracle odbc数据源时出现“an unsupported operation was attempted” 问题,此问题不是... 网上搜罗了好长时间,按照压缩包中详细步骤说明将oracle补丁打上,问题准解决!故记录分享给朋友们。
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的方法,以有效地应对挑战、优化流程或实现目标。以下是方案的主要作用: 问题解决: 方案的核心目标是解决问题。通过系统...
检查bug的步骤 1. bug定位 在js脚本中,按照脚本执行的顺序,你可以用console或alert,来确定bug发生的代码区间,然后在区间内进一步来查找bug发生的具体代码段。 2. bug fix 通过排除,就是在插入节点内容的时候...
是从Oracle 9.2.0.1.0升级到9.2.0.6.0,解决一系列bug问题。 安装步骤: 解压文件包 %unzip p3948480_9206_SOLARIS64.zip %cd Disk1 停掉数据库 sql>shutdown immediate 启动安装程序 %./runInstaller 执行catpatch....
内存溢出与数据库锁表的问题,可以说是开发人员的噩梦,一般的程序异常,总是可以知道在什么时候或是在什么操作步骤上出现了异常,而且根据堆栈信息也很容易定位到程序中是某处出现了问题。内存溢出与锁表则不然,...
调试代码简单易学,快捷方便。使你可以更快的解决问题bug,找到问题
禅道上的统计报表非常匮乏,专业版的水晶报表又不划算,自己动手弄了套工时统计的方案 还挺好用的 希望对大家有所帮助 附件就是统计个人名下所有需求,任务和bug的sql语句,以及Excel统计模板 操作步骤: 建议使用...
8.选择标准模板字段映射(一般默认选择) 9. 把QC中的需求字段和需求模版的列名所对应的字母标号进行关联映射。 从Excel导入 选Demo项目,提示错误: 改成用alice_qc用户登录即可! ...
小白第一次发博客哈哈,记录一下这三个晚上来我的悲惨经历以及我成功解决bug后的极度开心。 第一个晚上,有点小烦躁,但感觉还可以,有点小bug明天解决吧。 第二个晚上,不急,就一个小bug,20分钟调好吧。。。。。...
Bug Tracker是一个应用程序,可以帮助团队更有效地解决错误。 这是一个应用程序,用户可以在其中创建项目并在其中添加团队成员。 如果有任何错误,任何团队成员都可以创建和发布错误,以便其所有团队成员都可以看到...
3.最好使用python2.7,python3的pyhook包有bug,解决比较麻烦 步骤 1.windows上安装python2.7,配置好环境变量和pip 2.到这个网站下载对应版本的pyHook和pywin32 http://www.lfd.uci.edu/~gohlke/pythonlibs 2.打开...
1、 安装 输入命令npm install mathjs 进行安装; 出现 如下图所示则证明安装成功。...3、把math声明为全局变量(重要步骤) Vue.prototype.$math = math; 注:该行代码也是写在main.js文件中。(main.js为该项