Mlock
메모리 잠금(mlock())시스템 호출을 사용하면 호출 프로세스에서 주소 공간의 지정된 범위를 잠그거나 잠금 해제하고 Linux가 잠긴 메모리를 스왑 공간으로 페이징하지 못하도록 합니다. 페이지 테이블 항목에 실제 페이지를 할당하면 해당 페이지에 대한 참조가 상대적으로 빠릅니다. 메모리 잠금 시스템 호출은 mlock() 및 munlock() 카테고리로 분류됩니다.
mlock() 및 munlock() 시스템 호출은 lock 및 지정된 범위의 프로세스 주소 페이지의 잠금을 해제합니다. 성공하면 지정된 범위의 페이지는 munlock() 시스템 호출에서 페이지를 잠금 해제할 때까지 메모리에 상주합니다.
mlock() 및 munlock() 시스템 호출에는 다음과 같은 매개 변수가 사용됩니다.
-
addr- 주소 범위의 시작을 지정합니다. -
Len- 주소 공간의 길이를 바이트 단위로 지정합니다.
성공하면 mlock() 및 munlock() 시스템 호출은 0을 반환합니다. 오류가 발생하는 경우 -1을 반환하고 오류를 나타내는 errno 를 설정합니다.
mlockall() 및 munlockall() 시스템 호출은 잠금 또는 모든 프로그램 공간을 잠금 해제합니다.