Làm cách nào để sửa đổi ulimit cho các tệp đang mở trên SUSE Linux Enterprise Server 10.4 vĩnh viễn?


9
SERVER:/etc # ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 96069
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 96069
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
SERVER:/etc # 

Làm cách nào tôi có thể đặt giới hạn của người dùng root từ 1024 thành thứ khác, HOÀN TOÀN? Làm thế nào tôi có thể thiết lập ulimit trên toàn cầu? Những thay đổi sẽ có hiệu lực trong thời điểm này?

ps: Tôi đã googled cho nó nhưng không thể tìm thấy tập tin mà tôi có thể đặt nó vĩnh viễn:

SERVER:/etc # grep -RiI ulimit * 2>/dev/null | egrep -v ":#|#ulimit"
init.d/boot.multipath:      ulimit -n $MAX_OPEN_FDS
init.d/multipathd:      ulimit -n $MAX_OPEN_FDS
rc.d/boot.multipath:        ulimit -n $MAX_OPEN_FDS
rc.d/multipathd:        ulimit -n $MAX_OPEN_FDS

và ..

SERVER:/etc # grep -RiI 'MAX_OPEN_FDS' * 2>/dev/null
init.d/boot.multipath:MAX_OPEN_FDS=4096
init.d/boot.multipath:  if [ -n "$MAX_OPEN_FDS" ] ; then
init.d/boot.multipath:      ulimit -n $MAX_OPEN_FDS
init.d/multipathd:MAX_OPEN_FDS=4096
init.d/multipathd:  if [ -n "$MAX_OPEN_FDS" ] ; then
init.d/multipathd:      ulimit -n $MAX_OPEN_FDS
rc.d/boot.multipath:MAX_OPEN_FDS=4096
rc.d/boot.multipath:    if [ -n "$MAX_OPEN_FDS" ] ; then
rc.d/boot.multipath:        ulimit -n $MAX_OPEN_FDS
rc.d/multipathd:MAX_OPEN_FDS=4096
rc.d/multipathd:    if [ -n "$MAX_OPEN_FDS" ] ; then
rc.d/multipathd:        ulimit -n $MAX_OPEN_FDS
SERVER:/etc # 

Câu trả lời:


9

Sử dụng mô-đun pam_limits (8) và thêm hai dòng sau vào /etc/security/limits.conf:

root hard nofile 8192
root soft nofile 8192

Điều này sẽ tăng giới hạn tài nguyên RLIMIT_NOFILE (cả mềm và cứng) cho root lên 8192 khi đăng nhập tiếp theo.


1
Tôi đã sửa đổi nó, nhưng có vẻ như không có tác dụng gì khi nhìn thấy ulimit -a với root, ngay cả sau khi đăng nhập lại, làm thế nào để áp dụng thay đổi này cho giới hạn. : D
gasko peter

1
ulimit -n 8192sẽ đặt giới hạn ngay lập tức cho shell hiện tại và tất cả các tiến trình con của nó.
Petr Uzel

Tôi chấp nhận .. nhưng afaik máy sẽ cần khởi động lại :) - cho đến lúc đó .bash_profile .. ulimit -n 8192
gasko peter

Tệp /etc/security/limits.confchỉ là một nửa của sự thật: Tệp được đọc bởi pam_limits.so, đến lượt nó, phải được cấu hình. Các trang hướng dẫn nói /etc/pam.d/loginnên có một dòng session required pam_limits.so.
U. Windl
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.