我们在开发时,测的好好的,然后上测试,上生产环境,当数据量一大时,或并发大时,就会造成各种各样的问题。
如业务逻辑上的问题,造成这种原因是前期没有沟通好,或细节没有考虑那么全面,没考虑到这种情况的存在。
当然也包括技术上的问题,如内存泄露,程序假死,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)其他
在IT行业中,遇到bug是常有的事情,"解决bug不要拍砖啊"这句话其实是在提醒开发者们,在面对问题时要保持冷静,理性分析,而非情绪化地对待。下面,我们将详细探讨bug的定义、常见类型、排查方法以及解决策略。 **1...
在使用Bugfree这类缺陷...通过上述方法,我们可以有效地解决Bugfree中出现的“无产品访问权限”问题。同时,通过实施合理的预防措施,还能进一步降低此类问题的发生概率,提高工作效率。希望以上内容能对你有所帮助!
Bug 处理过程主要包括新建 Bug、解决 Bug、验证 Bug 三个步骤。新建的 Bug 可以通过编辑指派给合适的解决者,解决 Bug 之后状态变为 Resolved,并自动指派给创建者。创建者验证 Bug,如果未修复,再重新激活,Bug ...
为了解决这些问题,我们需要按照以下步骤进行: 1. **代码审查**:仔细检查每一段逻辑代码,确保所有条件分支和循环都处理得当,无遗漏或冗余。 2. **单元测试**:编写针对各个功能模块的测试用例,如棋子移动、吃...
1. **问题创建**:用户可以创建新的bug报告,包括详细描述bug的现象、复现步骤、影响程度等信息,以便于开发人员理解问题的本质。 2. **分类与优先级设定**:每个bug可以根据其严重性和紧急性被分配不同的优先级和...
- **一般(Medium)**:优先级较低,可以根据项目进度安排时间解决。 - **轻微(LOW)**:优先级最低,若不影响产品发布,可以延期解决。 #### 三、开发人员修复BUG规范流程 **1. 修复规范** - 开发人员在修改BUG...
* Bug 信息主要包括相关的项目版本、模块、任务,Bug 标题、严重程度、指派给谁、Bug 步骤重现等。 * 在对 Bug 类型及严重程度进行描述时,规定程度等级分为四种,1 为最严重错误,4 为最轻微错误。 4.2 研发人员...
**TFS Bug 管理使用教程** 团队项目中的Bug管理是软件开发过程中的关键环节,确保产品质量和项目进度。...对于新入职或对Bug管理流程不熟悉的成员,熟悉上述步骤将有助于快速融入团队开发流程,提高工作效率。
每个缺陷报告都包含了详细的信息,如描述、严重程度、优先级、状态和解决步骤等,这有助于团队成员了解问题的全貌。 2. **角色与权限管理**:系统支持多种角色,如管理员、项目经理、开发人员和测试人员,每个角色...
本文将详细介绍如何在Linux系统上安装BugFree,以及如何解决安装过程中可能出现的问题。 首先,安装BugFree的前提条件是您的Linux系统需已安装LAMP(Linux、Apache、MySQL、PHP)环境。LAMP是Linux上的标准Web开发...
4. **步骤复现**:列出重现BUG的步骤,让开发者可以按照这些步骤尝试复现问题。 5. **期望结果与实际结果**:明确指出在正常情况下应出现什么结果,以及实际观察到的结果是什么,对比有助于理解问题的本质。 6. **...
**2.2 解决bug** 开发人员修复bug后,会在系统中标记为已解决,并附上解决方法和相关代码更改。测试人员需验证修复效果,确认无误后,bug状态将更新为“已关闭”。 **2.3 查询bug** 查询功能帮助用户快速找到所需...
4. **信息复制**:Test Case的标题、步骤和运行环境等信息能方便地复制到新创建的Bug中,提高效率。 **二、BugFree服务器安装** 1. **全新安装BugFree 3.0**: - 首先,确保具备PHP、Apache Http Server和MySQL...
【VC6的bug修复程序操作步骤的文档】主要涉及的是如何使用特定的修复程序来解决Microsoft Visual C++ 6.0 (简称VC6.0)中的文件打开和添加到项目问题。以下是详细的修复步骤和相关知识点: 1. **下载与解压**:首先...
下面将详细介绍 Bugfree 安装配置的每个步骤,并解释每个步骤的目的和作用。 一、XAMPP 安装配置 XAMPP 是一个功能强大的建站集成软件包,包含 Apache、MySQL、PHP、PERL 等多种语言支持。首先,需要下载 XAMPP ...