우분투 18.04 단계별
이 모든 것이 오랫동안 도움이되기를 바랍니다.하지만 작동합니다 (증명)
우분투 18.04에 MongoDb를 설치하는 동안이 스레드를 발견했습니다.
https://posidev.com/blog/2009/06/04/set-ulimit-parameters-on-ubuntu/
당신이 볼 수 있듯이 그것은 꽤 오래되었지만 그것은 나를 위해 작동합니다.
여기 내가 한 일이 있습니다.
MongoDb 권장 설정 ( https://docs.mongodb.com/manual/reference/ulimit/#review-and-set-resource-limits )
- -f (파일 크기) : 무제한
- -t (CPU 시간) : 무제한
- -v (가상 메모리) : 무제한 [1]
- -l (메모리에 고정 된 크기) : 무제한
- -n (파일 열기) : 64000
- -m (메모리 크기) : 무제한 [1] [2]
- -u (프로세스 / 스레드) : 64000
현재 한도 확인
ubuntu @ isdb-stage : ~ $ ulimit -a
코어 파일 크기 (블록, -c) 0
데이터 세그먼트 크기 (kbytes, -d) 무제한
스케줄링 우선 순위 (-e) 0
파일 크기 (블록, -f) 무제한
보류 신호 (-i) 7873
최대 잠금 메모리 (kbytes, -l) 16384
최대 메모리 크기 (kbytes, -m) 무제한
열린 파일 (-n) 1024
파이프 크기 (512 바이트, -p) 8
POSIX 메시지 큐 (바이트, -q) 819200
실시간 우선 순위 (-r) 0
스택 크기 (KB, -s) 8192
CPU 시간 (초, -t) 무제한
최대 사용자 프로세스 (-u) 7873
가상 메모리 (kbytes, -v) 무제한
파일 잠금 (-x) 무제한
변경해야 할 사항을 기록해 둡니다.
- 메모리 내장 크기 는 무제한으로 설정해야합니다.
- 파일을 열려면 64000으로 설정해야합니다.
- 프로세스 / 스레드 * , 64000으로 설정해야합니다.
우분투는이 한계를 변경하는 방법에 대해 무엇을 말합니까?
$ man limits.conf
이름
limits.conf-pam_limits 모듈의 구성 파일
기술
pam_limits.so 모듈은 ulimit 제한, 우선 순위 및 동시 로그인 세션 수 제한을 사용자 로그인 세션에 적용합니다. 구성 파일 구문에 대한이 설명은
/etc/security/limits.conf 파일 및 * .conf 파일
/etc/security/limits.d 디렉토리
- 충분히 명확 해 보입니다. /etc/security/limits.conf 파일을 편집하십시오. 알았어 알아낼 수있어
여기에 그 파일의 시작 부분이 있으며, 물론 그 안에 지침이있는 것을 보아라. 이것은 좋은 사람들이 작성한 오픈 소스 라는 것을 기억하라 ! :)
vi /etc/security/limits.conf
# /etc/security/limits.conf
# 각 줄은 다음과 같은 형식의 사용자 제한을 설명합니다.
#
#어디:
#는 다음과 같습니다.
#-사용자 이름
(자세한 내용은 파일을 직접 확인하십시오)
- 마지막으로 변경하십시오. MongoDb는 mongodb 그룹 및 사용자로 실행되므로 사용자 제한 만 높이는 것이 좋습니다. 여기저기서 '*'가 사용되는 것을 보았습니다. 보안 위험이 있습니다. 서버에 모든 한계를 부여하여 서버를 최대한 활용할 수 있습니다. 따라서 mongodb 사용자 만 사용할 수 있습니다.
내 변경 사항은 다음과 같습니다.-
mongodb 소프트 memlock 무제한
mongodb 하드 memlock 무제한
mongodb soft nofile 64000
mongodb hard nofile 64000
mongodb 소프트 nproc 64000
mongodb 하드 nproc 64000
마지막으로 man limits.conf 항목에서이를 기억하십시오.
limits.conf-pam_limits 모듈의 구성 파일
pam_limits 모듈이로드되어 있는지 확인하십시오.이 모든 제한 사항이 작동합니다. 이렇게하려면 /etc/pam.d/common-session을 편집하십시오. 물론 이것은 맨 페이지에도 있습니다.
sudo vi /etc/pam.d/common-session
# pam_limits.so가로드되도록하려면 이것을 추가하십시오.
필요한 세션 pam_limits.so
재부팅하면 (사용자 mongodb에 대한) 제한이 적용되었음을 표시합니다. 대신 '*'를 사용하여 적용한 경우 mongodb 사용자로 전환하지 않고도 확인할 수 있습니다. 이 명령을 실행하십시오.
$ ulimit -a
코어 파일 크기 (블록, -c) 0
데이터 세그먼트 크기 (kbytes, -d) 무제한
스케줄링 우선 순위 (-e) 0
파일 크기 (블록, -f) 무제한
보류 신호 (-i) 7873
최대 잠금 메모리 (kbytes, -l) 무제한
최대 메모리 크기 (kbytes, -m) 무제한
열린 파일 (-n) 64000
파이프 크기 (512 바이트, -p) 8
POSIX 메시지 큐 (바이트, -q) 819200
실시간 우선 순위 (-r) 0
스택 크기 (KB, -s) 8192
CPU 시간 (초, -t) 무제한
최대 사용자 프로세스 (-u) 64000
가상 메모리 (kbytes, -v) 무제한
파일 잠금 (-x) 무제한
보시다시피, 모든 것을 우리가 원하는 한도로 설정하십시오.