GNU/Linux >> Belajar Linux >  >> Linux

Tidak Dapat Meningkatkan batas file terbuka melewati 4096 (Ubuntu)

Oke, akhirnya saya menemukan ini. Batasan yang saya tetapkan di /etc/security/limits.conf sedang diterapkan, tetapi tidak diterapkan pada login grafis. Ini dapat diverifikasi seperti ini dari jendela terminal:

$ ulimit -n
4096
$ su mkasberg
Password:
$ ulimit -n
65535

Lebih banyak penelitian membawa saya ke laporan bug ini, yang membuat saya diarahkan ke arah yang benar. Untuk mengubah batas yang digunakan oleh shell login, kita perlu menambahkan baris berikut ke /etc/systemd/user.conf :

DefaultLimitNOFILE=65535

Perubahan itu berhasil, tetapi hanya memengaruhi batas lunak. (Membiarkan kami dibatasi dengan batas keras 4096 masih.) Untuk mempengaruhi batas keras juga, kami harus memodifikasi /etc/systemd/system.conf dengan perubahan yang sama.

Perubahan yang saya buat di /etc/pam.d tidak perlu. Setidaknya di Ubuntu, ini sudah berfungsi. Selain itu, tidak perlu mengubah setelan untuk root dan * di limit.conf. Mengubah batas untuk mkasberg sudah cukup, setidaknya untuk kasus penggunaan saya.

Dalam Ringkasan

Jika Anda ingin meningkatkan batas yang ditunjukkan oleh ulimit -n , Anda harus:

  • Ubah /etc/systemd/user.conf dan /etc/systemd/system.conf dengan baris berikut (ini menangani login grafis):

    DefaultLimitNOFILE=65535
    
  • Ubah /etc/security/limits.conf dengan baris berikut (ini menangani proses masuk non-GUI):

    mkasberg hard nofile 65535
    mkasberg soft nofile 65535
    
  • Nyalakan ulang komputer Anda agar perubahan diterapkan.


Tidak perlu mengubah apa pun di /etc/security/limits.conf file, diabaikan jika Anda menggunakan systemd.

(mereproduksi jawaban yang dimodifikasi untuk pertanyaan lain di jaringan...)

Alternatif bagi mereka yang memilih untuk tidak mengedit /etc/systemd/system.conf default dan /etc/systemd/user/conf file:

  1. buat file baru /etc/systemd/system.conf.d/limits.conf dengan konten ini:

    [Manager]
    DefaultLimitNOFILE=65535
    
  2. jalankan systemctl daemon-reexec sebagai root

  3. keluar dan masuk lagi

  4. periksa batas baru Anda dengan ulimit -n .

Lihat systemd-system.conf halaman manual untuk detail.


TL;DRI merasa perlu untuk memusatkan jawaban, sehingga lebih mudah ditemukan. Butuh waktu lama bagi saya untuk menyatukan semua bagian agar berfungsi dengan benar ...

Ada 2 lokasi yang harus dipertimbangkan.

  1. sesi GUI

    $ grep DefaultLimitNOFILE /etc/systemd/system.conf
    DefaultLimitNOFILE=65535
    

    atau lebih baik di sini:

    $ grep NOFILE /etc/systemd/system.conf.d/limits.conf
    DefaultLimitNOFILE=65535
    
  2. lingkungan shell

    $ grep nofile /etc/security/limits.conf
    user soft nofile 65535
    user hard nofile 65535`
    

    atau lebih baik di sini:

    $ grep nofile /etc/security/limits.d/user.conf
    user soft nofile 65535
    user hard nofile 65535
    
  3. Setelah mengubah setelan pada file di atas, reboot lalu periksa batasannya dengan:ulimit -n -Hn -Sn


Linux
  1. Ubuntu – Bagaimana Cara Membuka File .bak Di Linux?

  2. Cara Meningkatkan Ukuran Swap di Ubuntu Linux

  3. Bagaimana Cara Meningkatkan Batas File Terbuka di Ubuntu?

  1. libstdc++.so.5:tidak dapat membuka file objek bersama - tetapi pustaka diinstal dan mutakhir

  2. Pemrograman Prolog di Ubuntu

  3. libpulse.so.0:tidak dapat membuka file objek bersama:Tidak ada file atau direktori tersebut

  1. Saya Tidak Dapat Membuka Pengaturan Sistem Di Ubuntu 17.10?

  2. Cara Meningkatkan Batas Ukuran Unduhan File di Apache

  3. ImportError:libtk8.6.so:tidak dapat membuka file objek bersama:Tidak ada file atau direktori tersebut