컴퓨터가 최대 절전 모드 일 때 데이터가 바뀌면 어떻게됩니까?


12

컴퓨터가 최대 절전 모드로 전환되면 RAM의 내용을 스왑 공간에 저장하여 전원을 다시 켤 때 중단 된 위치에서 정확하게 다시 시작할 수 있습니다.

따라서 현재 RAM보다 많은 메모리를 사용하고 있다면 어떨까요? 이 경우 RAM에있는 일부 데이터는 스왑을 위해 저장됩니다.

예입니다. 컴퓨터에는 1GB의 RAM과 1GB의 스왑 공간이 있습니다. 현재 100MB의 RAM과 500MB의 스왑을 제외한 모든 것을 사용하고 있습니다. 따라서 상태를 저장하려면 약 1.4GB의 메모리를 기억해야합니다. 그러나 스왑은 1GB에 불과합니다.

이 경우 어떻게됩니까?

~~ 편집 ~~

아래 답변 에서처럼 최대 절전 모드는 실패합니다. 따라서 후속 질문 :

이것이 실패하면 오류는 어디에보고됩니까?

답변:


11

그것은 최대 절전 모드의 구현에 달려 있습니다. 질문을 Linux로 제한하더라도 시간이 지남에 따라 구현이 발전했습니다.

먼저 일부 RAM이 디스크 캐시에 사용된다는 것을 고려하십시오. 시스템이 재개 된 후 디스크에서 다시로드 될 수 있으므로 스왑으로 이동할 필요가 없습니다. 비용 / 효율 균형이 좋은 시스템에서는 일반적으로 RAM의 절반이 캐시에 할당됩니다. ( RAM이 충분한 경우 스왑을 사용해야하는 이유 도 참조하십시오 .) Linux에서 일부 초기 구현에서는 할당 된 모든 메모리를 스왑에 저장하지만 현재 최대 절전 모드 구현에서는 디스크 캐시를 건너 뜁니다.

둘째, 일부 시스템은 스왑에 기록 될 때 메모리를 압축하므로 정확한 필요한 스왑 양을 예측하기 어렵게 만들 수 있습니다. 일부 Linux 최대 절전 모드 지원 버전은 압축을 지원합니다. 나는 현재의 사람들인지 모른다.

스왑 공간이 충분하지 않은 경우 일반적으로 예상 할 수있는 것은 최대 절전 모드가 실패한다는 것입니다. 시스템은 RAM의 (유용한) 내용을 스왑에 저장하려고 시도하고 충분한 공간이 없다는 것을 감지하자마자, 최대 절전 모드 시도가 중단됩니다 (일반적으로 콘솔 및 시스템 로그에 오류 메시지가 표시됨). 내가 아는 한, Linux는 항상 이와 같이 행동했습니다 (실제로 다른 합리적인 행동은 없습니다).


1
나는 virtualbox 컴퓨터에서 이것을 시도했지만 사용자에게 메시지를 표시하지 않았지만 실패했습니다 (우분투 10.4로 시도했습니다). 이 오류가보고 된 시스템 로그는 무엇입니까?
David Oneill

3
@David :에 뭔가 있어야합니다 /var/log/kern.log. 콘솔에 메시지가없는 것이이 특정 커널 버전의 기발한 것인지 또는 고의적 인 우분투 구성인지 여부는 알 수 없습니다 (고의적으로 다른 콘솔 출력을 억제 한 것으로 알고 있습니다).
Gilles 'SO- 악한 중지
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.