mongod에 대한 ulimits를 설정하는 방법은 무엇입니까?


8

mongodCentOS 에서 프로세스 / 사용자에 대한 ulimits를 어떻게 설정 합니까?

나는했습니다 공식 문서를 읽을 수 있지만, OS 별 지침을 제공하지 않습니다.

  • ulimit -u 64000재부팅 후에도 지속 되도록 설정 하고 필요합니다.

  • 곧 6.5로 업그레이드되지만 CentOS 5.5를 실행하고 있습니다.

  • 패키지 관리자가 설치 한 스크립트를 수정하지 않는 것이 좋습니다

답변:


12

/etc/security/limits.conf필요한 것을 수정하십시오 . 예:

user soft nproc 64000

이 줄은 -u"user"에 대해 프로세서 수 ( )를 64000으로 설정합니다 . 소프트 / 하드 리미트는 동일 할 수 있습니다 (소프트는 스파이크를 허용하지만 하드 생성은 방지합니다).


고맙지 만이 작업을 수행하고 mongod를 다시 시작하면 cat /proc/{pid}/limits아무런 변화가 없습니다. conf를 읽으려면 추가 작업이 필요합니까?
Tim

1
예, 서버를 재부팅하십시오. 커널에 의해 설정됩니다.
Nathan C

7

최신 버전의 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를 변경하십시오.


6

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 스크립트에 값이 있음에도 불구하고 그것이 왜 필요한지에 대해 누구나 밝힐 수 있다면 나는 모두 귀입니다!


여기서도 "nproc"설정이 무시 된 이유는 나에게 미안합니다.
Ostati

1

/etc/security/limits.conf파일을 변경 하십시오. 하드 및 소프트 한계를 설정하면 양호해야합니다.


파일을 직접 /etc/security/limits.d/엉망으로 만드는 대신 내부 파일을 사용하는 것이 좋습니다.limits.conf
Joshua Grigonis

1

변경 사항을 영구적으로 유지하려면 초기화 스크립트 (예 : Red Hat 7)를 편집해야합니다. 초기화 스크립트에는 다음 줄이 있습니다.

LimitNOFILE=64000

다음을 추가해야합니다.

LimitNPROC=32000

그런 다음 서비스를 다시 시작하십시오.

이게 도움이 되길 바란다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.