2009-06-02 4 views

답변

1

분리하지 않으면 다른 사람이 메모리 세그먼트를 삭제하지 못하게됩니다. 이는 Windows와 Linux에서 마찬가지입니다. 따라서 메모리 누수가 발생합니다. 그것은 O.S의 안정성을 손상시키지 않을 것이다. 그러나 당신이 그것을 사용하는 것을 끝내면 왜 당신은 분리하고 삭제하고 싶지 않을 것이다?

0

공유 메모리 세그먼트가 분리되지 않은 경우 커널은 특정 세그먼트 (커널 영역이라고 함)가 사용 중이며 삭제 표시하지 않을 것이라고 계속 생각합니다. 참조 카운팅 메커니즘의 종류는 내부적으로 사용됩니다. 또 다른 문제는 프로세스의 가상 주소 공간이 불필요하게 먹힐 수 있다는 것입니다.

그러나이 메모리 세그먼트가 분리되어 프로세스가 종료되는 순간 자동으로 해제되므로 메모리 누수 (Java 사람들은 말할 수 있습니다.)를 호출 할 수 있는지 확실하지 않습니다.

이것은 전체적으로 OS를 손상시키지 않을 수 있지만 시스템이 예고없이 종료해야 할 수도 있습니다. 메모리가 부족하면 거대한 메모리를 먹는 일부 프로세스입니다 (Linux OOM 킬러 참조). 그러나 이것은 최악의 경우입니다.

+0

답장을 보내 주셔서 감사합니다. Linux (Ubuntu)에서 테스트 해본 결과 프로세스가 종료 될 때 자동으로 해제되지 않습니다. –

관련 문제