模拟性能问题–Buggy App

个人感觉此工具很实用,用来帮助你了解JVM。
要运行Buggy应用程序,您需要安装Java 8或更高版本。
下载地址:https://gitee.com/spiderman2018/buggy-app

Buggy App 是一个简单的 java 应用程序,可以模拟不同的性能问题,如 内存泄漏、OutOfMemoryError、CPU 峰值、线程泄漏、StackOverflowError、死锁、无响应等。
使用此应用程序,可以模拟环境中的各种性能问题。以下是一些可以使用Buggy应用程序的用例:

1.OutOfMemoryError:Java堆空间
要生成“java.lang.OutOfMemoryError: Java heap space”,请使用以下参数启动 Buggy App:

java -Xmx512m -jar buggyApp.jar PROBLEM_OOM

2.内存泄漏
如果你想在不遇到 OutOfMemoryError 的情况下模拟内存泄漏,请使用以下参数启动 Buggy App。

java -jar buggyApp.jar PROBLEM_MEMORY

当你使用这个参数启动 Buggy 应用程序时,将消耗 80% - 90% 的分配内存。但它不会导致 OutOfMemoryError。

3.CPU 飙升
如果您希望 CPU 消耗达到 80 – 90%,请使用以下参数启动 Buggy 应用程序:

java -jar buggyApp.jar PROBLEM_CPU

4.线程泄漏
如果你希望应用程序继续缓慢生成新线程,那么使用以下参数启动bug应用程序:

java -jar buggyApp.jar PROBLEM_THREADLEAK

当您使用这些参数启动 Buggy 应用程序时,最终会生成“java.lang.OutOfMemoryError: Unable to create new native thread”。

5.死锁
如果希望应用程序遇到死锁,请使用以下参数启动 Buggy 应用程序:

java -jar buggyApp.jar PROBLEM_DEADLOCK

6.堆栈溢出错误
如果希望应用程序遇到“java.lang.StackOverflowError”,请使用以下参数启动 Buggy 应用程序:

java -jar buggyApp.jar PROBLEM_STACKOVERFLOW

7.阻塞线程
如果想将多个线程置于 BLOCKED 状态,请使用以下参数启动 Buggy 应用程序:

java -jar buggyApp.jar PROBLEM_BLOCKED

8.繁重的I/O
如果想模拟繁重的I/O活动,请使用以下参数启动Buggy应用程序:

java -jar buggyApp.jar PROBLEM_IO

当您使用此参数启动 buggyApp 时,应用程序将按名称创建 5 个唯一文件:fileIO-1.txt、fileIO-2.txt、fileIO-3.txt、fileIO-4.txt、fileIO-5.txt。然后将 20 行内容写入该文件,并无限次地读取。这将导致主机上的大量 I/O 活动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值