Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

메모리가 부족할 때 OS 는 어떠한 조치를 취할까? #4

Open
yeonjaee opened this issue Jun 11, 2023 · 0 comments
Open

Comments

@yeonjaee
Copy link
Owner

현재 실행중인 프로세스 중 우선순위가 가장 낮은 프로세스를 종료시킨다.

  1. 가장 일반적인 조치는 Garbage Collection 입니다. 가비지 컬렉션은 더 이상 사용되지 않는 메모리를 식별하여 해제하는 프로세스입니다. 이는 더 이상 필요하지 않은 객체 또는 데이터를 제거하여 메모리를 회수하는 데 도움이 됩니다.

  2. 페이지 교체(page swapping) 또는 페이지 폴트(page fault) 처리를 통해 가상 메모리를 사용할 수 있습니다. ('페이징'이라고도 함) 이는 물리적인 메모리(RAM)에 로드되지 않은 데이터를 보조 저장 장치(하드 디스크 또는 SSD)에 저장하고 필요할 때마다 필요한 페이지를 로드하는 것을 의미합니다. 이를 통해 사용자가 필요로 하는 메모리를 제공하면서 물리적인 메모리 부족 상황을 완화할 수 있습니다. 페이지 교체 알고리즘(예: LRU, FIFO 등)을 사용하여 어떤 페이지를 교체할지 결정할 수 있습니다.

  3. 임시 파일이나 캐시 파일과 같은 메모리를 차지하는 자원을 해제할 수 있습니다. OS는 시스템이나 응용 프로그램이 사용한 임시 파일이나 캐시 파일 등을 정리하고 삭제하여 메모리를 회수할 수 있습니다.


LINUX 는 적절한 process를 찾아 강제로 종료하는데, 이 떄 oom_score(Out of memory score) 값이 큰 순서대로 강제 종료되는데, 종료되었을 때 가장 큰 memory 를 확보할 수 있으며 system에 영향이 가지 않는 process 일 수록 값이 큽니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant