자바 프로 세 스 는 어떻게 Linux 서버 에서 메모리 분 배 를 합 니까?
그래서 나 는 알 고 있 는 과정 과 리 눅 스 관련 책 을 찾 아 보 았 다.여기 서 관련 지식 을 공유 하고 기록 합 니 다.
Linux 에서 실행 되 는 프로 세 스 는 자바 에 만 국한 되 지 않 습 니 다.논리 메모리(Logic Memory)라 는 개념 이 있 는데 물리 기 는 정말 가지 고 있 는 메모리 입 니 다.우 리 는 물리 메모리(Physic Memory)라 고 부 릅 니 다.
프로 세 스 가 실 행 될 때 물리 적 메모 리 를 직접 분배 하지 않 습 니 다.프로 세 스 는 메모리,즉 논리 적 메모 리 를 가지 고 있다 고 생각 할 뿐 입 니 다.프로그램 이 실행 할 때 메모리 할당 이 필요 할 때 Linux 서버 는 페이지(Page)에서 작은 4k 로 분 배 됩 니 다.물리 적 메모리 와 논리 적 메모리 의 관 계 를 일대일 로 매 핑 합 니 다.보 셨 습 니까?
이렇게 하면 좋 은 점 이 무엇 입 니까?1.프로 세 스 간 에 서로 격 리 되 어 있 습 니 다.2 프로 세 스 는 독립 적 이 고 연속 적 인 메모리 3 을 차지 하고 있다 고 생각 합 니 다.물리 적 메모리 보다 더 큰 메모리 공간 을 신청 할 수 있 습 니 다.
세 번 째 는 어떻게 이해 하 죠?사실 리 눅 스 는 여기 서 swap 라 는 메커니즘 을 설계 했다.프로 세 스 가 할당 한 메모리 공간 이 물리 적 메모 리 를 초과 할 때 각 프로 세 스 가 실행 하 는 메모리 가 정말 이렇게 많 으 면 물리 적 메모 리 를 초과 하면 swap 를 촉발 하여 CPU 를 가지 고 있 지 않 은 일부 프로 세 스 의 메모리 데이터 와 디스크 를 io 데이터 교환 하 는 것 이다.CPU 가 한 시간 에 모든 메모 리 를 초과 할 수 없 기 때문에 이런 최적화 로 인해 메모 리 를 더 신청 할 수 있 게 되 었 습 니 다.아마 원래 메모리 의 2-3 배 일 것 입 니 다.이것 은 굉장 합 니 다.왜냐하면 메모 리 는 매우 비 싸 기 때 문 입 니 다.
Swap 는 좋 지만 문제 도 가 져 왔 습 니 다.
예 를 들 어 잦 은 Swap 는 메모리 작업 을 디스크 의 IO 작업 으로 전환 시 켜 프로 세 스 의 운행 속 도 를 늦 출 수 있 습 니 다.그래서 Swap 는 제 이해 에 있어 서 프로 세 스 를 붕괴 시 키 지 않 고 적당 하 게 사용 하면 원 가 를 줄 일 수 있 고 부당 한 사람의 사용 이 반식 되 는 체제 에 속 합 니 다.
물론 너무 부당 하면 프로 세 스 가 무 너 집 니 다.Swap 는 Buffer 와 유사 한 메커니즘 으로 크기 가 있 습 니 다.설정 한 상한 선 을 초과 하면 Kernel 커 널 에서 OOM Killer 를 터치 하여 일부 프로 세 스 의 공간 을 비 웁 니 다.
이상 은 자바 프로 세 스 가 리 눅 스 서버 에서 메모리 분 배 를 어떻게 하 는 지 에 대한 상세 한 내용 입 니 다.자바 프로 세 스 메모리 분배 에 관 한 자 료 는 다른 관련 글 에 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.