Ubuntu 18.04 Adım Adım
Umarım tüm bunlar yardımcı olur, oldukça uzun ama işe yarıyor (kanıtla)
Ubuntu 18.04 üzerine MongoDb kurarken bu konuya rastladım
https://posidev.com/blog/2009/06/04/set-ulimit-parameters-on-ubuntu/
Gördüğünüz gibi oldukça eski ama benim için çalışıyor.
İşte yaptığım şey.
MongoDb Önerilen Ayarlar ( https://docs.mongodb.com/manual/reference/ulimit/#review-and-set-resource-limits )
- -f (dosya boyutu): sınırsız
- -t (cpu süresi): sınırsız
- -v (sanal bellek): sınırsız [1]
- -l (bellekte kilitli boyut): sınırsız
- -n (açık dosyalar): 64000
- -m (bellek boyutu): sınırsız [1] [2]
- -u (işlemler / evreler): 64000
Mevcut Sınırlarımı kontrol et
ubuntu @ isdb-stage: ~ $ ulimit -a
çekirdek dosya boyutu (bloklar, -c) 0
veri segment boyutu (kbyte, -d) sınırsız
çizelgeleme önceliği (-e) 0
dosya boyutu (bloklar, -f) sınırsız
bekleyen sinyaller (-i) 7873
maksimum kilitli bellek (kbyte, -l) 16384
maksimum bellek boyutu (kbyte, -m) sınırsız
açık dosyalar (-n) 1024
boru boyutu (512 bayt, -p) 8
POSIX ileti kuyrukları (bayt, -q) 819200
gerçek zamanlı öncelik (-r) 0
yığın boyutu (kbyte, -s) 8192
cpu süresi (saniye, -t) sınırsız
maksimum kullanıcı işlemi (-u) 7873
sanal bellek (kbyte, -v) sınırsız
dosya kilitleri (-x) sınırsız
Neyin değişmesi gerektiğini not edin
- bellekte kilitli boyut , sınırsız olarak ayarlanması gerekiyor.
- açık dosyalar , 64000 olarak ayarlanması gerekiyor
- süreç / iş parçacığı * , 64000 olarak ayarlanmalıdır
Ubuntu bu sınırların nasıl değiştirileceği hakkında ne diyor?
$ man limit.conf
ADI
limit.conf - pam_limits modülü için yapılandırma dosyası
AÇIKLAMA
Pam_limits.so modülü, kullanıcı oturumlarına ulimit sınırları, hoş öncelik ve eşzamanlı oturum sayısı sınırını uygular. Bu yapılandırma dosyası sözdiziminin açıklaması,
/etc/security/limits.conf dosyası ve * .conf dosyaları
/etc/security/limits.d dizini.
- Oldukça açık görünüyor, /etc/security/limits.conf dosyasını düzenleyin. Tamam anlayalım ....
İşte bu dosyanın başlangıcı ve tabii ki içinde talimatlar bile var, bunun iyi çocuklar tarafından yazılmış açık kaynak olduğunu unutmayın ! :)
vi /etc/security/limits.conf
# /etc/security/limits.conf
# Her satır, formdaki bir kullanıcı için bir sınır tanımlar:
#
#Nerede:
# olabilir:
# - bir kullanıcı adı
(Daha fazla ayrıntı istiyorsanız dosyaya kendiniz bakın)
- Sonunda değişiklikleri yapın. MongoDb mongodb grubu ve kullanıcısı olarak çalıştığından, kullanıcıların yalnızca sınırlarını yükseltmek iyi bir fikir olacaktır. Burada ve orada '*' kullanıldığını gördüm. Sunucudaki tüm ve muhtelif bu limitleri verir, bu da sunucunuzu en üst düzeye çıkarmak için kullanılabilir. Bu yüzden onları sadece mongodb kullanıcısı için yapalım.
İşte değişikliklerim: -
mongodb yumuşak memlock sınırsız
mongodb zor memlock sınırsız
mongodb yumuşak nofile 64000
mongodb sert nofile 64000
mongodb yumuşak nproc 64000
mongodb sert nproc 64000
Son olarak, son olarak bunu adam limitlerinde hatırlayın. Conf girişi.
limit.conf - pam_limits modülü için yapılandırma dosyası
Daha iyi pam_limits modülünün yüklü olduğundan emin olun, böylece tüm bu sınırlar işler işe yarar. Bunu yapmak için /etc/pam.d/common-session adresini düzenlersiniz. Tabii ki bu da man sayfasında.
sudo vi /etc/pam.d/common-session
# Pam_limits.so'nun yüklendiğinden emin olmak için bunu ekleyin.
oturum gerekli pam_limits.so
Yeniden başlatma, (kullanıcı mongodb için) sınırların uygulandığını gösterecektir. Bunları '*' kullanarak uyguladıysanız, mongodb kullanıcısına geçmek zorunda kalmadan kontrol edebilirsiniz. Sadece bu komutu yürütün.
$ ulimit -a
çekirdek dosya boyutu (bloklar, -c) 0
veri segment boyutu (kbyte, -d) sınırsız
çizelgeleme önceliği (-e) 0
dosya boyutu (bloklar, -f) sınırsız
bekleyen sinyaller (-i) 7873
maksimum kilitli bellek (kbyte, -l) sınırsız
maksimum bellek boyutu (kbyte, -m) sınırsız
açık dosyalar (-n) 64000
boru boyutu (512 bayt, -p) 8
POSIX ileti kuyrukları (bayt, -q) 819200
gerçek zamanlı öncelik (-r) 0
yığın boyutu (kbyte, -s) 8192
cpu süresi (saniye, -t) sınırsız
maksimum kullanıcı işlemi (-u) 64000
sanal bellek (kbyte, -v) sınırsız
dosya kilitleri (-x) sınırsız
Gördüğünüz gibi, şişirilebilir bir şekilde hepsi istediğimiz sınırlara ayarlandı.