使用Java21的新特性:分代ZGC

This commit is contained in:
dataprince 2023-12-23 12:29:45 +08:00
parent cf81b1f67c
commit ed30212ddc
2 changed files with 37 additions and 36 deletions

View File

@ -1,21 +1,22 @@
rem 使用者应根据自身平台编码自行转换 防止乱码 例如 win使用gbk编码
@echo off @echo off
rem jar平级目录 rem jar平级目录
set AppName=ruoyi-admin.jar set AppName=ruoyi-admin.jar
rem JVM参数 rem JVM参数
set JVM_OPTS="-Dname=%AppName% -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC" set JVM_OPTS="-Dname=%AppName% -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Xlog:gc*,:time,tags,level -XX:+UseZGC"
ECHO. ECHO.
ECHO. [1] 启动%AppName% ECHO. [1] 启动%AppName%
ECHO. [2] 关闭%AppName% ECHO. [2] 关闭%AppName%
ECHO. [3] 重启%AppName% ECHO. [3] 重启%AppName%
ECHO. [4] 启动状态 %AppName% ECHO. [4] 启动状态 %AppName%
ECHO. [5] 退 出 ECHO. [5] 退 出
ECHO. ECHO.
ECHO.请输入选择项目的序号: ECHO.请输入选择项目的序号:
set /p ID= set /p ID=
IF "%id%"=="1" GOTO start IF "%id%"=="1" GOTO start
IF "%id%"=="2" GOTO stop IF "%id%"=="2" GOTO stop
@ -35,11 +36,11 @@ PAUSE
start javaw %JVM_OPTS% -jar %AppName% start javaw %JVM_OPTS% -jar %AppName%
echo starting…… echo starting……
echo Start %AppName% success... echo Start %AppName% success...
goto:eof goto:eof
rem 函数stop通过jps命令查找pid并结束进程 rem 函数stop通过jps命令查找pid并结束进程
:stop :stop
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do ( for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do (
set pid=%%a set pid=%%a
@ -48,7 +49,7 @@ rem
if not defined pid (echo process %AppName% does not exists) else ( if not defined pid (echo process %AppName% does not exists) else (
echo prepare to kill %image_name% echo prepare to kill %image_name%
echo start kill %pid% ... echo start kill %pid% ...
rem 根据进程IDkill进程 rem 根据进程IDkill进程
taskkill /f /pid %pid% taskkill /f /pid %pid%
) )
goto:eof goto:eof

View File

@ -3,7 +3,7 @@
AppName=ruoyi-admin.jar AppName=ruoyi-admin.jar
# JVM参数 # JVM参数
JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC" JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Xlog:gc*,:time,tags,level -XX:+UseZGC"
APP_HOME=`pwd` APP_HOME=`pwd`
LOG_PATH=$APP_HOME/logs/$AppName.log LOG_PATH=$APP_HOME/logs/$AppName.log
@ -23,36 +23,36 @@ function start()
{ {
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'` PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
if [ x"$PID" != x"" ]; then if [ x"$PID" != x"" ]; then
echo "$AppName is running..." echo "$AppName is running..."
else else
nohup java $JVM_OPTS -jar $AppName > /dev/null 2>&1 & nohup java $JVM_OPTS -jar $AppName > /dev/null 2>&1 &
echo "Start $AppName success..." echo "Start $AppName success..."
fi fi
} }
function stop() function stop()
{ {
echo "Stop $AppName" echo "Stop $AppName"
PID="" PID=""
query(){ query(){
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'` PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
} }
query query
if [ x"$PID" != x"" ]; then if [ x"$PID" != x"" ]; then
kill -TERM $PID kill -TERM $PID
echo "$AppName (pid:$PID) exiting..." echo "$AppName (pid:$PID) exiting..."
while [ x"$PID" != x"" ] while [ x"$PID" != x"" ]
do do
sleep 1 sleep 1
query query
done done
echo "$AppName exited." echo "$AppName exited."
else else
echo "$AppName already stopped." echo "$AppName already stopped."
fi fi
} }
function restart() function restart()