mongod
CentOS 에서 프로세스 / 사용자에 대한 ulimits를 어떻게 설정 합니까?
나는했습니다 공식 문서를 읽을 수 있지만, OS 별 지침을 제공하지 않습니다.
ulimit -u 64000
재부팅 후에도 지속 되도록 설정 하고 필요합니다.곧 6.5로 업그레이드되지만 CentOS 5.5를 실행하고 있습니다.
패키지 관리자가 설치 한 스크립트를 수정하지 않는 것이 좋습니다
mongod
CentOS 에서 프로세스 / 사용자에 대한 ulimits를 어떻게 설정 합니까?
나는했습니다 공식 문서를 읽을 수 있지만, OS 별 지침을 제공하지 않습니다.
ulimit -u 64000
재부팅 후에도 지속 되도록 설정 하고 필요합니다.
곧 6.5로 업그레이드되지만 CentOS 5.5를 실행하고 있습니다.
패키지 관리자가 설치 한 스크립트를 수정하지 않는 것이 좋습니다
답변:
최신 버전의 CentOS mongod 시작 스크립트 (/etc/init.d/mongod)에는 시작 옵션에 기본 설정이 내장되어 있습니다.
start()
{
# Recommended ulimit values for mongod or mongos
# See http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings
#
ulimit -f unlimited
ulimit -t unlimited
ulimit -v unlimited
ulimit -n 64000
ulimit -m unlimited
ulimit -u 32000
echo -n $"Starting mongod: "
daemon --user "$MONGO_USER" "$NUMACTL $mongod $OPTIONS >/dev/null 2>&1"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod
}
값을 변경하고 스크립트를 수정하지 않으려면 스크립트를 /etc/init.d/mongod-custom에 복사 한 다음 사용자 정의 init 스크립트를 편집하고 값을 설정하고 mongod 대신 mongod-custom을 사용하도록 chkconfig를 변경하십시오.
thaspius의 답변에 추가하기 위해 init 스크립트에서 설명하는 것처럼 한계가 설정 된 것처럼 보이지만 여전히 경고 메시지가 나타납니다.
[initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
이것은 init 스크립트에 정의 된 파일 제한이 적용되었지만 프로세스 제한이 아니라는 것을 나타냅니다. 또한 Nathan C의 답변에 따라 추가
mongod soft nproc 64000
에 /etc/security/limits.d/90-nproc.conf
와 다시 시작 시스템은 문제를 해결했다.
mongodb init 스크립트에 값이 있음에도 불구하고 그것이 왜 필요한지에 대해 누구나 밝힐 수 있다면 나는 모두 귀입니다!
/etc/security/limits.conf
파일을 변경 하십시오. 하드 및 소프트 한계를 설정하면 양호해야합니다.
/etc/security/limits.d/
엉망으로 만드는 대신 내부 파일을 사용하는 것이 좋습니다.limits.conf
변경 사항을 영구적으로 유지하려면 초기화 스크립트 (예 : Red Hat 7)를 편집해야합니다. 초기화 스크립트에는 다음 줄이 있습니다.
LimitNOFILE=64000
다음을 추가해야합니다.
LimitNPROC=32000
그런 다음 서비스를 다시 시작하십시오.
이게 도움이 되길 바란다.
cat /proc/{pid}/limits
아무런 변화가 없습니다. conf를 읽으려면 추가 작업이 필요합니까?