我正在尝试测试一个简单的脚本,如果它遇到内存不足错误,它将终止并重新启动服务。服务本身执行完整的 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 sh
kill %p;
echo "service out of memory"
sleep 5
echo "Restarting service"
./start.sh profileName
我现在最大的问题实际上是通过引发 OOM 错误来测试脚本。理论上,将发生的是 oom.sh 脚本将被调用,杀死然后重新启动服务。我试过使用 Postman Runner 发送 500 个获取所有请求,但没有成功。有谁知道更好的方法吗?
繁花不似锦
慕少森
UYOU
相关分类