Ulimit sabitleme: açık dosyalar: limiti değiştiremez: İşleme izin verilmiyor


13

Bunu farklı GNU / Linux kurulumlarında test ettim:

perl -e 'while(1){open($a{$b++}, "<" ,"/dev/null") or die $b;print " $b"}'

Sistem A ve D

Vurduğum ilk sınır 1024'tür. Bunu /etc/security/limits.conf dosyasına koyarak kolayca yükseltilir:

*                hard    nofile          1048576

ve sonra çalıştırın:

ulimit -n 1048576
echo 99999999 | sudo tee /proc/sys/fs/file-max

Şimdi test 1048576'ya gidiyor.

Ancak, bunu 1048576'nın üzerine çıkaramıyorum gibi görünüyor. 1048577'yi limit.conf'a koyarsam, göz ardı edilir.

Buna ne sebep oluyor?

Sistem B

BI sisteminde 1048576'ya bile ulaşamaz:

echo 99999999 | sudo tee /proc/sys/fs/file-max

/etc/security/limits.conf:

*                hard    nofile          1048576

İşte alacağım:

$ ulimit -n 65537
bash: ulimit: open files: cannot modify limit: Operation not permitted
$ ulimit -n 65536
#OK

Bu sınır nereden geldi?

Sistem C

Bu sistem ayrıca 1048576 limit.conf ve 99999999 inç / proc / sys / fs / file-max sınırındadır.

Ama burada sınır 4096:

$ ulimit -n 4097
-bash: ulimit: open files: cannot modify limit: Operation not permitted
$ ulimit -n 4096
# OK

Bunu (en azından) 1048576'ya nasıl yükseltirim?

(Self Not: Do do not: echo 18446744073709551616 | sudo tee /proc/sys/fs/file-max)


1
Ben tam olarak aynı sorun var, sınır 1048576 gibi görünüyor. Eğer gidersem aşağıdaki hatayı alıyorum: bash: ulimit: açık dosyalar: değiştiremezsiniz limit: Operasyona izin verilmiyor
Abbadon

Merhaba, çok benzer bir sorun yaşıyorum. Bu farklı sistemlerin ne olduğu hakkında daha fazla ayrıntı vermenin çok yararlı olacağını düşünüyorum.
Time4Tea

Yanıtlar:


4

Şunları /etc/ssh/sshd_configiçerdiğini kontrol edin :

UsePAM=yes

ve aşağıdakileri /etc/pam.d/sshdiçerir:

session    required   pam_limits.so

Neden 1048576'nın maks.

1048576 işlem başına gibi görünüyor. Yani birden fazla işlem yaparak bu sınırın üstesinden gelinebilir.


4
Bu gerçekten kendi probleminiz için bir çözüm olsaydı, sorun ve yukarıdaki çözüm arasında daha fazla bağlantı kurmanın iyi olacağını düşünüyorum.
Jeff Schaller

2
Re: 1048576 (referans için = 2 ^ 10 * 2 ^ 10 = 1024 ^ 2). Bu yanıtta bazı ilgili bilgiler olabilir: stackoverflow.com/a/1213069/2320823
saladi

1
SSH'nin bununla ne ilgisi var?
Linas

@Linas ile aynı fikirdeyim. Üzgünüm, cevap ile soru arasındaki bağlantının belirsiz olduğunu düşünüyorum.
Time4Tea
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.