linux에서 swap-out 되지 않는 메모리 할당은 어떻게?

mete0r의 이미지

일반적으로 c 라이브러리의 malloc()으로 메모리 할당을 하면, 이 메모리는 언제든지 swap되어 디스크에 기록될 수 있지 않습니까? 이를 막는 방법이 있나요?

또한 이런 부분에 대해 GPG 같은 프로그램은 어떤 접근 방법을 택하고 있는지 궁금합니다.

mete0r의 이미지

mlock() 시스템콜로 특정 virtual address를 램에 묶어놓을 수 있다고 하네요.

ukyoukyo의 이미지

swapoff() 함수로 swap area를 꺼버리세요.

그리고, swapiness를 0으로 세팅하면 swap을 안쓰는걸로 알고 있습니다.

물론, 맨 마지막에는 mlock() 을 해야겠지요^^


------------------ System programmer...^^