启动Jar包的命令:nohup java -jar -Dspring.profiles.active=prod xxxx-applet-api.jar  -Xms64m -Xmx128m -Xmn64m -XX:SurvivorRatio=8 -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=64m -XX:+UseConcMarkSweepGC > ./applet.log 2>&1 &

具体挨个解释这里面每个参数的意义:

  1. `nohup`: 这个命令在 Linux 中用于以忽略挂断信号的方式运行命令,即使用户退出或者挂起终端,进程仍然会继续运行。
  2. `java -jar -Dspring.profiles.active=prod xxxx-applet-api.jar`: 这部分是实际运行 Java 可执行 JAR 文件的命令。`-jar` 标志告诉 Java 运行时环境要执行一个 JAR 文件。`-Dspring.profiles.active=prod` 是一个 Java 系统属性,用于设置 Spring 框架的活动配置文件为 “prod”。
  3. `-Xms64m -Xmx128m -Xmn64m -XX:SurvivorRatio=8 -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=64m -XX:+UseConcMarkSweepGC`: 这些是 Java 虚拟机的参数设置,用于配置 Java 运行时环境的内存使用和垃圾回收等行为。
  1. `-Xms64m`: 这个参数设置了 JVM 的初始堆内存大小为 64MB。这表示 JVM 在启动时会分配 64MB 的内存作为初始堆大小。
  2. `-Xmx128m`: 这个参数设置了 JVM 的最大堆内存大小为 128MB。这表示 JVM 在运行过程中可以动态地分配的最大堆内存为 128MB。
  3. `-Xmn64m`: 这个参数设置了新生代的初始内存大小为 64MB。新生代是 JVM 堆内存中用于存放新创建对象的部分。
  4. `-XX:SurvivorRatio=8`: 这个参数设置了新生代中 Eden 区和 Survivor 区的比例为 8:1。这意味着在新生代中,Eden 区的大小是 Survivor 区大小的 8 倍。
  5. `-XX:MetaspaceSize=64m`: 这个参数设置了元空间(Metaspace)的初始大小为 64MB。元空间用于存储类的元数据,取代了旧版 Java 中的永久代(PermGen)。
  6. `-XX:MaxMetaspaceSize=64m`: 这个参数设置了元空间的最大大小为 64MB。这表示元空间在运行时可以动态地分配的最大内存为 64MB。
  7. `-XX:+UseConcMarkSweepGC`: 这个参数表示启用了并发标记-清除垃圾回收器(Concurrent Mark-Sweep GC)。这种垃圾回收器是一种旨在减少应用程序停顿时间的垃圾回收器,它会尽量在应用程序运行的同时执行垃圾回收操作。
  1. `> ./applet.log 2>&1`: 这部分是将标准输出和标准错误输出重定向到文件 `applet.log``>` 表示将标准输出重定向到文件,`2>&1` 表示将标准错误输出重定向到与标准输出相同的地方(也就是文件 `applet.log`)。
  2. `&`: 这个符号表示在后台运行命令,这样你可以继续使用当前终端窗口而不必等待命令执行完成。