Liệu 'ulimit -m' không hoạt động trên Linux (hiện đại)?


12

Bài viết này tuyên bố rằng -mcờ ulimitkhông làm gì trong Linux hiện đại. Tôi không thể tìm thấy gì khác để chứng thực cho tuyên bố này. Có chính xác không?

Bạn có thể cố gắng giới hạn mức sử dụng bộ nhớ của một quá trình bằng cách đặt kích thước cài đặt thường trú tối đa (ulimit -m). Điều này không có tác dụng đối với Linux. man setrlimit nói rằng nó chỉ hoạt động trong các phiên bản cổ xưa. Thay vào đó, bạn nên giới hạn số lượng bộ nhớ ảo tối đa (ulimit -v).

Nếu đúng là nó hoạt động trong các phiên bản Linux cũ hơn, phiên bản nào đã ngừng hỗ trợ này?


Đây là một bài viết thú vị đi sâu vào một số chi tiết về các giới hạn khác nhau và ý nghĩa của chúng. Nó mười tuổi nhưng có lẽ hầu hết những thứ này không thay đổi. answer.google.com/answers/threadview/id/311442.html
Dan Pritts

Câu trả lời:


12

Nó nói ngay trong bài viết:

Điều này không có tác dụng đối với Linux. man setrlimit nói rằng nó chỉ hoạt động trong các phiên bản cổ xưa.

Các setrlimit trang người đàn ông nói:

 RLIMIT_RSS
        Specifies the limit (in pages) of the process's resident set
        (the number of virtual pages resident in RAM).  This limit has
        effect only in Linux 2.4.x, x < 30, and there affects only
        calls to madvise(2) specifying MADV_WILLNEED.

Vì vậy, nó đã ngừng hoạt động trong 2.4.30 .


Cảm ơn. Tôi đã xem qua trang setrlimit, nhưng không biết phải tìm gì.
Flimzy

Bạn phải tìm kiếm residenttừ kích thước thiết lập cư dân .
Cristian Ciupitu
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.