OpenBSD에 메모리가 부족하지만 스왑 공간이 사용되지 않음

OpenBSD에 메모리가 부족하지만 스왑 공간이 사용되지 않음

저는 OpenBSD(5.6 amd64)를 새로 설치하여 사용하고 있습니다. Boost 라이브러리를 구축하려고 하는데 cc1plus 메모리 부족 오류로 인해 상당수의 컴파일이 실패합니다.

스왑을 추가하면 이 문제를 해결할 수 있다는 내용을 다른 곳에서 읽었습니다. 그러나 나에게는 이것이 작동하지 않습니다. 현재 4GB 스왑이 설정되어 있습니다. 그러나 이들 중 어느 것도 사용되지 않습니다. Swapctl은 항상 표시됩니다.

total: 8390592 512-blocks allocated, 0 used, 8390592 available

컴파일이 실패하더라도 이는 여전히 동일합니다.

내 설치에 뭔가 특이한 점이 있다는 점을 언급하고 싶습니다. USB 스틱에 설치되었으며 Softraid0 방법을 통해 전체 디스크 암호화를 사용했습니다. 따라서 내 /dev/sd1b는 4g 스왑이고 /dev/sd1a는 raid이며 /dev/sd2(암호화된 raid)는 스왑이 없다는 점을 제외하면 설치 프로그램에 의해 정상적으로 파티션됩니다.

제 질문은 컴파일러에 메모리가 부족해도 스왑 공간이 전혀 사용되지 않는 이유입니다.

답변1

기본적으로 OpenBSD는 프로세스가 무제한 메모리를 사용하는 것을 허용하지 않습니다. 이러한 제한은 에 정의되어 있습니다 /etc/login.conf.

이러한 제한에 도달하면 전체 운영 체제를 위한 충분한 공간이 남아 있어도 메모리 부족 오류가 발생합니다. 대부분의 경우에는 악의적인 프로세스가 모든 메모리를 사용하여 시스템을 중단시킬 수 없기 때문에 문제가 없습니다. 그러나 때로는 방해가 될 수 있습니다. 다행히도 이를 변경할 수 있습니다.

답변2

staff이 그룹에 자신을 추가하면 관심을 받을 수도 있습니다. 이 그룹의 메모리 제한은 다른 사용자 범주에 비해 더 느슨하게 설정된 것으로 보입니다.

관련 정보