跳转到内容

什么是启动脚本?

启动脚本主要部分就是设置 Java 参数设置。

对于 Windows 服务器来说,启动脚本是 .bat 后缀的文件,对 Linux 服务器而言,启动脚本是 .sh 后缀的文件。

shbat 是两种不同操作系统环境下用于执行脚本的文件扩展名,它们的主要区别在于运行环境、语法的不同:

  • 语法:sh 脚本使用 Shell 命令和控制结构,支持条件判断、循环、函数定义等高级编程特性。
  • 执行方式:在终端通过 ./script.shsh script.sh 来执行 (确保脚本具有执行权限)。
  • 语法:bat 脚本包含一系列 DOS 命令和批处理命令,支持简单的条件判断和循环,但相比 sh 脚本,其功能和灵活性较低。
  • 执行方式:双击文件或者在命令提示符下输入 script.bat 来执行。

注意:Windows 和 Linux 的启动脚本不能通用,不是改一下后缀名就可以

启动参数 (也称 Flag) 主要分为 3 类:

  • 标准参数 (-):所有的 JVM 实现都必须实现这些参数的功能,而且向后兼容;
  • 非标准参数 (-X):默认 JVM 实现这些参数的功能,但是并不保证所有 JVM 实现都满足,且不保证向后兼容;
  • 非 stable 参数 (-XX):此类参数各个 JVM 实现会有所不同,将来可能会随时取消,需要慎重使用;
Terminal window
java -Xms12G -Xmx12G -jar 核心名.jar nogui
参数说明
-Xmx[size]设置最大内存大小,默认为物理内存的 1/4 或者 1G,需大于 2M,可以指定单位 K/M/G
-Xms[size]设置最小内存大小,默认为物理内存的 1/64,需大于 1M
-jar为 Java 指定需要运行的 Jar 程序
—nogui关闭服务器 GUI,少量性能提升,大多数人不需要用到
--nogui 干了什么

不显示类似下面的 GUI

真的,这个 GUI 一点用没有,别开它了

对于 Windows start.bat 可参考的脚本如下:

Terminal window
@ECHO OFF
:start
java ..... -jar 核心名.jar --nogui
goto start

对于 Linux start.sh 可参考的脚本如下:

Terminal window
while [ true ]; do
java ..... -jar 核心名.jar --nogui
echo 服务器自动重启中
echo 同时按下 Ctrl + C 关服.
done