为了账号安全,请及时绑定邮箱和手机立即绑定

试图用 Postman 引发内存不足异常

试图用 Postman 引发内存不足异常

慕的地6264312 2023-03-17 15:16:13
我正在尝试测试一个简单的脚本,如果它遇到内存不足错误,它将终止并重新启动服务。服务本身执行完整的 CRUD 操作,并在其启动脚本中定义的 JVM 选项中调用脚本。在 start.sh 脚本中:DEFAULT_JVM_OPTS='"-Xmx512m" "-Dapp.name=app-service" "-XX:OnOutOfMemoryError=./oom.sh" "-Dspring.profiles.active='"$1"'"'exec nohup "$JAVACMD" $DEFAULT_JVM_OPTS -jar $CLASSPATH > stdout.out 2> stderr.err &在 oom.sh 中#!/usr/bin/env shkill %p;echo "service out of memory"sleep 5echo "Restarting service"./start.sh profileName我现在最大的问题实际上是通过引发 OOM 错误来测试脚本。理论上,将发生的是 oom.sh 脚本将被调用,杀死然后重新启动服务。我试过使用 Postman Runner 发送 500 个获取所有请求,但没有成功。有谁知道更好的方法吗?
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

这会很快产生内存不足异常:


String s = "x";

while (s.length() > 0) {

  s += s;

}


查看完整回答
反对 回复 2023-03-17
?
慕少森

TA贡献2019条经验 获得超9个赞

以下是使用简单程序引发 OutOfMemoryError 的示例: https ://crunchify.com/how-to-generate-out-of-memory-oom-in-java-programatically/

该程序在每个循环中消耗更多内存。

正如评论指出的那样,您也可以出于测试目的抛出 OutOfMemoryError:

throw new java.lang.OutOfMemoryError();


查看完整回答
反对 回复 2023-03-17
?
UYOU

TA贡献1878条经验 获得超4个赞

Java Service Wrapper 会起作用吗?它旨在处理您的应用程序应该运行但由于某种原因不能运行(包括内存不足)的各种情况。它也非常坚韧。https://wrapper.tanukisoftware.com

您可能有特定的原因/要求反对使用 Wrapper 之类的东西,但如果您还没有,那么值得一看。


查看完整回答
反对 回复 2023-03-17
  • 3 回答
  • 0 关注
  • 182 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信