나는 릴레이가 있는 OpenBSD "방화벽"을 가지고 있는데, 여기서 릴레이는 시스템이 완전히 응답하지 않을 때까지 사용 가능한 모든 메모리를 소비하기 시작합니다. 이는 사용자가 매우 큰 파일 전송을 시작할 때 발생합니다(relayd는 MinIO 클러스터의 로드 밸런서로 설정됨).
릴레이 문제를 해결하는 것은 해결해야 할 별도의 문제입니다.
릴레이와 모든 하위 프로세스가 시스템 중단을 방지하기 위해 사용할 수 있는 메모리 양을 제한하려면 어떻게 해야 합니까?
답변1
기본적으로 기반 데몬은 /etc/rc
다음 섹션에 정의된 제한 사항에 따라 시작됩니다.daemon
login.conf
daemon:\
:ignorenologin:\
:datasize=4096M:\
:maxproc=infinity:\
:openfiles-max=1024:\
:openfiles-cur=128:\
:stacksize-cur=8M:\
:tc=default:
tc=default
다른 모든 설정은 이 클래스에 정의된 설정 default
(파일 앞부분에서 정의됨) 임을 나타냅니다 .
사용 가능한 메모리 양을 변경하려면 relayd
이를 변경해야 합니다 datasize
. 기본 설정은 4GB이며 컴퓨터에 따라 더 적게 필요할 수도 있습니다. 물론 이렇게 하면 다른 모든 데몬이 사용할 수 있는 메모리가 제한되지만 문제는 메모리가 제한된 시스템인 것 같으므로 이것이 좋은 생각일 수도 있습니다.
한도를 변경하고 싶다면구체적으로의 경우 relayd
다른 데몬을 변경하지 않고 자체 제한 사항을 사용하여 파일에 새 클래스를 추가하는 등의 작업을 수행할 수 있습니다 ( 해당 클래스에 대한 다른 모든 제한 사항이 적용되도록 끝에 추가하는 것을 relayd
잊지 마세요 ).:tc=daemon:
daemon
relayd:\
:datasize=1024M:\
:tc=daemon:
그런 다음 클래스 _relayd
에 사용자를 추가합니다 .relayd
# usermod -L relayd _relayd
전체 파일을 살펴보면 이 방법을 사용하여 더 많은 메모리를 사용할 수 있도록 하고, 더 많은 메모리를 사용할 수 있도록 하는 등의 작업을 수행 /etc/login.conf
한다는 것을 알 수 있습니다 .vmd
unbound
openfiles