16 코어 CPU에서 간단한 독립 실행 형 Java 프로그램을 사용하여 일부 JNI 호출을 테스트하는 중입니다. 나는 64 비트 JVM을 사용하고있다 & OS는 Linux AS5이다. 그러나 64 비트 C++ 라이브러리로 테스트 프로그램을 시작하자마자 'SIZE'열이 16G임을 알 수 있습니다. 상위 명령 출력은 다음과 같이이다 :Java 프로그램을 시작하자마자 Java 프로세스가 시작되는 이유
PID PSID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND 3505 31483 xxxxxxx 23 16 0 16G 215M sleep 0:02 0.00% java
내 힙이 확인하지만, JNI 메모리는 프로세스의 크기를 증가시킬 수 있음을 이해하지만, 나는 그것이 16G로 시작하는 이유에 대한 혼란 스러워요 - 내가 생각하는, SIZE 가상 메모리 크기입니까? 정말 그 많은 기억을 가지고 있니? 내가 그것에 관심을 가져야 하는가?
27.2 시간의 CPU 시간을 가진 프로세스를 보여줍니다. 이것은 "테스트 프로그램을 시작하자 마자"스냅 샷이 아닙니다. – Gabe
감사합니다. 게이. 방금 2 초의 가동 시간으로 정확한 스냅 샷으로 질문을 업데이트했습니다. – endless
가상 주소 공간은 거의 무료입니다. 프로세스가 * 현재 * 215 메가 바이트 만 차지하고 있음을 알 수 있습니다. '-Xms' 또는 JVM에 대한 다른 명령 행 옵션의 가치는 무엇입니까? –