sửa đổi và áp dụng giới hạn. không cần khởi động lại


15

Tôi đã thêm một dòng vào /etc/security/limits.confđể tăng số lượng tệp đang mở.

*    hard nofile 4096
root hard nofile 16384

Tuy nhiên khi tôi chạy, ulimit -nnó báo 1024 là giá trị mặc định. Tôi đã đăng xuất và đăng nhập nhưng vẫn thấy 1024. Làm cách nào để áp dụng thay đổi?

Câu trả lời:


8

Nếu bạn đang sử dụng bash, ulimit -nsẽ chỉ hiển thị giới hạn mềm. Để có được giới hạn cứng, bạn cần phải làm ulimit -Hn.

Trên hệ thống của tôi, tôi thấy điều này:

$ ulimit -n
1024
$ ulimit -Hn
4096

16

Thay đổi được thực hiện bởi ulimitlệnh:

$ ulimit -n 4096
$ ulimit -Hn 16384

sẽ chỉ áp dụng cho người dùng hiện tại và phiên. Để làm cho nó vĩnh viễn, bạn phải sửa đổi /etc/security/limits.confbằng cách thêm các giới hạn của bạn:

* soft nofile 4096
* hard nofile 16384

Tuy nhiên, ký tự đại diện *sẽ không áp dụng cho rootngười dùng. Để làm như vậy, bạn phải nói rõ:

* soft nofile 4096
* hard nofile 16384
root soft nofile 4096
root hard nofile 16384

Những giới hạn này sẽ được áp dụng sau khi khởi động lại .

Nếu bạn muốn áp dụng các thay đổi mà không cần khởi động lại , hãy sửa đổi /etc/pam.d/common-sessionbằng cách thêm dòng này vào cuối tệp:

session required pam_limits.so

Lần đăng nhập tiếp theo, bạn sẽ thấy các giới hạn được cập nhật, bạn có thể kiểm tra chúng (giới hạn mềm và cứng):

$ ulimit -a
$ ulimit -Ha

2
Tôi có một vấn đề với cách tiếp cận này thực sự kỳ lạ. Tôi đang sử dụng Ubuntu 14 và kích hoạt pam_limits.sotrong /etc/pam.d/common-session. Tôi đã định cấu hình cho /etc/security/limits.confngười dùng x để có giới hạn cứng và mềm cho nofile64000. sudo -u xsau đó ulimit -acho tôi thấy rằng các thay đổi không được áp dụng. Tôi nhận ra rằng susudocó cấu hình pam khác nhau như vậy để làm cho nó hoạt động đúng tôi cần phải cho phép pam_limits.sotrong /etc/pam.d/common-session-noninteractive. Nếu bạn đang tự hỏi trường hợp sử dụng là gì - tôi sử dụng ansible và sudo để thay đổi người dùng.
hahcho

1
Vì một số lý do, tôi đã phải thêm nó vào /etc/pam.d/common-session-noninteractiveđể nó hoạt động.
Sumit
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.