c
c
chaosblade-help-zh-CN
Search…
c
c
chaosblade-help-zh-CN
README
blade
blade create
blade create cpu load
blade create disk burn
blade create disk fill
blade create mem load
blade create network delay
blade create network dns
blade create network drop
blade create network loss
blade create network corrupt
blade create network reorder
blade create network duplicate
blade create network occupy
blade create process kill
blade create process stop
blade create script delay
blade create script exit
blade create docker
blade create k8s
blade prepare jvm
blade create jvm
blade create jvm delay
blade create jvm return
blade create jvm script
blade create jvm cpufullload
blade create jvm OutOfMemoryError
blade create jvm CodeCacheFilling
blade create jvm throwCustomException
blade create servlet
blade server
blade status
blade version
Powered By
GitBook
blade create jvm
介绍
jvm 本身相关场景,以及可以指定类,方法注入延迟、返回值、异常故障场景,也可以编写 groovy 和 java 脚本来实现复杂的场景。目前支持的场景如下
[blade create jvm CodeCacheFilling](blade create jvm CodeCacheFilling.md) 填充 jvm code cache
[blade create jvm OutOfMemoryError](blade create jvm OutOfMemoryError.md) 内存溢出,支持堆、栈、metaspace 区溢出
[blade create jvm cpufullload](blade create jvm cpufullload.md) java 进程 CPU 使用率满载
[blade create jvm delay](blade create jvm delay.md) 方法延迟
[blade create jvm return](blade create jvm return.md) 指定返回值
[blade create jvm script](blade create jvm script.md) 编写 groovy 和 java 实现场景
[blade create jvm throwCustomException](blade create jvm throwCustomException.md) 抛自定义异常场景
参数
此处列举 jvm 支持的通用参数:
1
--pid string 指定 java 进程号
2
--process string 指定 java 进程名,如果同时填写
3
--timeout string 设定运行时长,单位是秒,通用参数
Copied!
JVM 方法级别的故障场景通用参数:
1
--classname string 指定类名,必须是实现类,带全包名,例如 com.xxx.xxx.XController (必填项)
2
--methodname string 指定方法名,注意相同方法名的方法都会被注入相同故障 (必填项)
3
--after 方法执行完成返回前注入故障,比如修改复杂的返回对象
4
--effect-count string 限制影响数量
5
--effect-percent string 限制影响百分比
Copied!
各场景还有自身所独有的参数,可以在每个场景文档中查看
案例
此处举个简单的例子:当前 Java 进程 CPU 使用率满载
1
# 先执行 prepare 操作
2
blade prepare jvm --process tomcat
3
{"code":200,"success":true,"result":"af9ec083eaf32e26"}
4
5
# 执行进程内 CPU 满载
6
blade create jvm cpufullload --process tomcat
7
{"code":200,"success":true,"result":"2a97b8c2fe9d7c01"}
Copied!
验证结果:
-w461
1
# 停止实验
2
blade destroy 2a97b8c2fe9d7c01
3
4
# 卸载 agent
5
blade revoke af9ec083eaf32e26
Copied!
实验原理
常见问题
Previous
blade prepare jvm
Next
blade create jvm delay
Last modified
7mo ago
Copy link
Contents
介绍
参数
案例
实验原理
常见问题