2GB RAM 및 Debian x64가 포함 된 VPS 서버를 구입했습니다. 나는이 명령으로 마인 크래프트 서버를 실행하려는 경우 :
craftbukkit.jar
화면 자바 -Xmx1600M -Xms1600M -jar을하지만 서버가 정보 로 종료 유지 나는이를 찾을 수 있습니다 로그에, [화면이 종료됩니다] : http://pastebin.com/YupAEnyN
시스템에서 사용하는 메모리가 부족합니다. http://i.stack.imgur.com/2Yrl2.png
VPS가 OpenVM에서 작동하기 때문에 불행히도 스왑을 만들 수 없습니다.
가능한 한 많은 RAM으로 서버를 실행하려면 어떻게해야합니까? 서버가 -Xms1536M -Xmx1536M과 함께 실행되고 있지만 더 많은 것을 얻고 싶습니다 ...
미리 감사드립니다!Java 기반 서버는 전체 VPS 메모리와 함께 실행할 수 없습니다.
답변
나는 당신이 그들을 증가 시키려고하는 대신에 메모리 설정을 줄여야한다고 생각한다. 오류가 Native memory allocation (malloc) failed
-Xmx 플래그가 자바 힙 메모리를 증가했다
는알 수 있습니다. Java 코드에서 더 많은 메모리를 사용할 수 있습니다. 그러나 그것은 당신의 문제가있는 곳이 아닙니다. Java에는 많은 메모리가 있습니다. 이 오류는 원시 코드의 메모리가 부족함을 나타냅니다.
2GB RAM을 사용하면 Java 프로세스에서 1.7GB를 사용할 수 있습니다. 이것은 절대적으로 초과 할 수없는 운영 체제 정의 한계입니다. (나는 당신의 시스템에 실제 가치가 무엇인지 알지 못한다. 단지 1.7GB 인 것처럼 보인다.) 이제 -Xms1600M을 지정했다. Java 코드 용으로 1.6GB를 예약했으며 다른 모든 원시 코드 용으로 100MB를 소량 남겼습니다.
나인 경우, -Xms1024 -Xmx1024부터 시작하여 Java 코드의 경우 1GB, 다른 원시 코드의 경우 수백MB를 제공합니다. 프로세스가 Java 코드 (원시 코드 아님)에서 OutOfMemory 예외를 받기 시작할 때만이 값을 높이는 것을 고려할 것입니다.
이 모든 것이 반 직관적입니다. 훨씬 더 깊이있는 설명은 다음에서 기사를 참조하십시오. http://www.ibm.com/developerworks/linux/library/j-nativememory-linux/index.html
나는 현재 영어가 능숙하지 않아 그 글을 읽을 수 없다. 문제는 1GB의 메모리가있을 때만 700MB의 RAM을 할당 할 수 있지만 2GB로 업그레이드하면 1500MB 만 할당 할 수 있다는 것입니다. 이 논리는 어디에 있습니까? 나는 그것이 시스템 한계라고 생각하지 않는다 - 또는 동적 인 ... – TheReduxPL
- 1. PC 기반 Java 서버에서 안드로이드 클라이언트를 실행할 수 없습니다.
- 2. FastMember 기반 콘솔 앱을 실행할 수 없습니다.
- 3. Java 코드에서 PATH로 프로그램을 실행할 수 없습니다.
- 4. openCV2.3.1을 VS2010과 함께 실행할 수 없습니다.
- 5. doxygen을 파이썬과 함께 실행할 수 없습니다.
- 6. 자바 스크립트보기/숨기기 메모리와 함께
- 7. java progam을 실행할 수 없습니다! NoClassDefFoundError?
- 8. ProcessBuilder를 실행할 수 없습니다.
- 9. Java 서버는 어떻게 구현합니까?
- 10. Java 응용 프로그램을 실행할 수 없습니다
- 11. Mac에서 Java 프로그램을 실행할 수 없습니다
- 12. Java JDBC | 콘솔에서 실행할 수 없습니다.
- 13. Java JNI 코드 Eclipse를 실행할 수 없습니다.
- 14. java 파일을 실행할 값을 설정할 수 없습니다.
- 15. 쉬운 Java 예제에서 JUnit을 실행할 수 없습니다.
- 16. Java 문에서 내 쿼리를 실행할 수 없습니다.
- 17. Java 프로그램에서 배치 파일을 실행할 수 없습니다.
- 18. 쉘에서 Java 프로그램을 실행할 수 없습니다. ClassNotFoundException
- 19. Java Web Start를 실행할 수 없습니다. JNLP
- 20. 다른 Java 프로그램에서 java 프로그램을 실행할 수 없습니다.
- 21. Eclipse에서는 java를 실행할 수 있지만 cmd에서는 실행할 수 없습니다.
- 22. JAR 파일을 실행할 수 없습니다
- 23. Eclipse IDE를 실행할 수 없습니다.
- 24. IntelliJ, catalina.sh를 실행할 수 없습니다.
- 25. PIG를 실행할 수 없습니다
- 26. Mongodb를 실행할 수 없습니다.
- 27. WEBrick을 실행할 수 없습니다.
- 28. ADB를 실행할 수 없습니다.
- 29. jekyll을 실행할 수 없습니다.
- 30. 의도를 실행할 수 없습니다.
OS에 일부 메모리가 필요하다고 생각하십니까? 예를 들어 사용하십시오. 'htop'을 사용하여 얼마가 사용되는지 확인하고 JVM에서 사용할 수있는 양을 결정합니다. –
"htop : command not found"... – TheReduxPL
sudo aptitude install htop –