Những thông số nào ulimit có?


11

Tôi thấy trong các ví dụ rằng -utùy chọn được sử dụng với ulimitlệnh, nhưng tôi không thể tìm thấy tài liệu cho biết tùy chọn đó có nghĩa gì. man ulimithiển thị hướng dẫn cho một chức năng thư viện hệ thống. Những lựa chọn nào ulimitcó và ý nghĩa của chúng là gì?

Câu trả lời:


9

Lệnh ulimit là một lệnh tích hợp sử dụng các hàm C được mô tả bởi con người: Trợ giúp riêng của nó được bao gồm trong trang man Bash, có thể truy cập được man bash.

Bạn có thể liệt kê tất cả các tùy chọn khả dụng với ulimit -hvà xem ý nghĩa tương ứng của chúng bằng cách ulimit -aliệt kê tất cả các loại giới hạn có sẵn và giá trị hiện tại của chúng, tùy thuộc vào hệ thống của bạn:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

1
Lưu ý rằng ulimit -hkhông được hỗ trợ ở mọi nơi - ít nhất là trong Bash 4.2.25.
DreadPirateShawn

ulimit -h không liệt kê bất kỳ thứ gì trong số này, ví dụ Ubuntu 16.04
matt

8

ulimitphải là một shell được tích hợp sẵn vì giới hạn mà nó thiết lập áp dụng cho chính shell cũng như các chương trình mà nó khởi động. Đối số di động duy nhất là -f(giới hạn kích thước tệp, theo đơn vị 512 byte). Hầu hết các shell có nhiều tùy chọn hơn, bạn sẽ cần kiểm tra tài liệu shell để biết chính xác chúng là gì. Với các shell di động như bash và ksh, một số biến thể unix có thể không hỗ trợ giới hạn ngay cả khi tùy chọn tương ứng được shell nhận ra.

Các tùy chọn được hỗ trợ bởi mọi shell tôi đã thấy:

  • -H: Kết hợp với các tùy chọn khác để chỉ đặt hoặc hiển thị giới hạn cứng.
  • -S: Kết hợp với các tùy chọn khác để chỉ đặt hoặc hiển thị giới hạn mềm.
  • -c: kích thước tệp lõi tối đa (khối 512 byte)
  • -d: kích thước heap tối đa (phân đoạn dữ liệu) (kB)
  • -f: kích thước tệp tối đa (khối 512 byte)
  • -n: số lượng mô tả tập tin tối đa
  • -s: kích thước ngăn xếp tối đa (kB)
  • -t: thời gian CPU tối đa

Một vài lựa chọn rất phổ biến khác:

  • -a: Hiển thị tất cả các giới hạn.
  • -m: kích thước bộ nhớ vật lý tối đa (kB)
  • -v: kích thước bộ nhớ ảo tối đa (kB)
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.