시작 스크립트란?
시작 스크립트의 핵심은 Java 인자 설정이다.
Windows 서버에서는 .bat 확장자 파일이, Linux 서버에서는 .sh 확장자 파일이 시작 스크립트다.
sh와 bat는 서로 다른 운영체제에서 스크립트를 실행하는 데 쓰는 파일 확장자로, 실행 환경과 문법이 다르다.
sh (Shell Script)(Linux)
섹션 제목: “sh (Shell Script)(Linux)”- 문법: sh 스크립트는 셸 명령어와 제어 구조를 쓰며, 조건문, 반복문, 함수 정의 같은 고급 프로그래밍 기능을 지원한다.
- 실행 방법: 터미널에서
./script.sh또는sh script.sh로 실행한다(스크립트에 실행 권한이 있어야 한다).
bat (Batch File)(Windows)
섹션 제목: “bat (Batch File)(Windows)”- 문법: bat 스크립트는 DOS 명령어와 배치 명령어로 이루어지며, 간단한 조건문과 반복문을 지원하지만 sh 스크립트보다 기능과 유연성이 떨어진다.
- 실행 방법: 파일을 더블클릭하거나 명령 프롬프트에서
script.bat를 입력해 실행한다.
주의: Windows와 Linux의 시작 스크립트는 서로 호환되지 않는다. 확장자만 바꾼다고 되는 게 아니다.
시작 인자란?
섹션 제목: “시작 인자란?”시작 인자(Flag라고도 한다)는 크게 세 종류로 나뉜다.
- 표준 인자(-): 모든 JVM 구현이 반드시 지원해야 하며, 하위 호환성이 보장된다.
- 비표준 인자(-X): 기본 JVM은 지원하지만 모든 JVM 구현이 지원한다는 보장은 없고, 하위 호환성도 보장되지 않는다.
- 불안정 인자(-XX): JVM 구현마다 다르고 언제든 없어질 수 있으므로 신중하게 써야 한다.
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를 끈다. 성능이 약간 좋아지며, 대부분의 사람은 GUI가 필요 없다 |
--nogui는 무엇을 하나
아래 같은 GUI를 띄우지 않는다.

진짜로 이 GUI는 아무 쓸모가 없으니 켜지 말자.
자동 재시작 설정
섹션 제목: “자동 재시작 설정”Windows start.bat 예시 스크립트:
@ECHO OFF:startjava ..... -jar 서버코어이름.jar --noguigoto startLinux start.sh 예시 스크립트:
while [ true ]; do java ..... -jar 서버코어이름.jar --nogui echo 서버를 자동으로 재시작하는 중 echo Ctrl + C를 누르면 서버를 끈다.done