NitWikit/docs/准备工作/基础知识/什么是启动脚本.md
2024-06-02 15:53:56 +08:00

3.0 KiB
Raw Blame History

sidebar_position
6

什么是启动脚本

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

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

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

SH (Shell Script)Linux

  • 语法: SH脚本使用Shell命令和控制结构支持条件判断、循环、函数定义等高级编程特性。
  • 执行方式: 在终端通过 ./script.shsh script.sh 来执行(确保脚本具有执行权限)。

BAT (Batch File)(Windows)

  • 语法: BAT脚本包含一系列DOS命令和批处理命令支持简单的条件判断和循环但相比SH脚本其功能和灵活性较低。
  • 执行方式: 双击文件或者在命令提示符下输入 script.bat 来执行。

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

什么是启动参数

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

  • 标准参数(-):所有的 JVM 实现都必须实现这些参数的功能,而且向后兼容;
  • 非标准参数(-X默认 JVM 实现这些参数的功能,但是并不保证所有 JVM 实现都满足,且不保证向后兼容;
  • 非Stable参数-XX此类参数各个 JVM 实现会有所不同,将来可能会随时取消,需要慎重使用;

基础

java -Xms12G -Xmx12G -jar 核心名.jar nogui

:::warning

作为新手,不用在意大多数参数的作用,你需要做的就是开启服务器。

不要忘记改最后的“核心名.jar!

:::

参数 说明
-Xmx[size] 设置最大内存大小默认为物理内存的1/4或者1G需大于2M可以指定单位K/M/G
-Xms[size] 设置最小内存大小默认为物理内存的1/64需大于1M
-jar 为 Java 指定需要运行的 Jar 程序
----nogui 关闭服务器 GUI少量性能提升大多数人不需要用到
--nogui干了什么

不显示类似下面的GUI

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

:::info

  1. 无论什么时候分配内存时一定要多预留15%左右内存,如服务器还剩余 10G 内存, 不要将 -Xms 设置到大于 9G 的内存,否则会很危险。
  2. 在 G1GC 模式下,尽量保证 Xmx = Xms 因为如果二者不同 JVM 需要更多的内存时候JVM需要申请更多内存这个过程的耗时会导致顿卡。
  3. 更多的参数讲解,请前往 JVM 参数介绍

:::

如何设置自动重启

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

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

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

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