Bug 1203766 - /etc/security/limits.conf rss and memlock not effective, but as is
Summary: /etc/security/limits.conf rss and memlock not effective, but as is
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: pam
Version: 6.6
Hardware: x86_64
OS: Linux
Target Milestone: rc
: ---
Assignee: Tomas Mraz
QA Contact: BaseOS QE Security Team
Depends On:
TreeView+ depends on / blocked
Reported: 2015-03-19 15:56 UTC by Peter Chiu
Modified: 2015-03-19 16:14 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2015-03-19 16:06:19 UTC
Target Upstream Version:

Attachments (Terms of Use)
limits.conf test log (3.04 KB, text/plain)
2015-03-19 15:56 UTC, Peter Chiu
no flags Details

Description Peter Chiu 2015-03-19 15:56:57 UTC
Created attachment 1003887 [details]
limits.conf test log

Description of problem: limits.conf items rss and memlock not effective but as is

Version-Release number of selected component (if applicable): pam-1.1.1-20.el6.x86_64

How reproducible: Yes

1.set values in /etc/security/limits.conf (one set at a time)
*                soft    rss             4194304
*                hard    rss             5242880

2. log on as a regular user

3.run a program to allocate memory 

4.use top to monitor the amount of memory used and find memory usage not restricted to the limit set. Log out

5. repeat step 1 - 4, but with different sets of items
*                soft    memlock         4194304
*                hard    memlock         5242880

6. repeat step 1 - 4, with items being "as"
*                soft    as              524288000
*                hard    as              629145600

Actual results:
Resident memory 23G

Expected results:
Resident memory 4G

Additional info:

With items being "as", virtual memory is correctly limited to 500GB.

Comment 1 Tomas Mraz 2015-03-19 16:06:19 UTC
The rss is documented to be ineffective and memlock limits a different thing. I don't see a bug here.

Comment 2 Peter Chiu 2015-03-19 16:11:55 UTC
Inside limits.conf, it describes:
<item> can be one of the following:
#        - core - limits the core file size (KB)
#        - data - max data size (KB)
#        - fsize - maximum filesize (KB)
#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files
#        - rss - max resident set size (KB)

Please can you explain what memlock really does?

If we need to restrict users from having a limit on the resident memory,
what item, if not memlock, should be used?


Comment 3 Tomas Mraz 2015-03-19 16:14:21 UTC
I don't think there is limit equivalent to rss. Memlock is for locked-in memory not for any resident memory that can be paged out.

Perhaps cgroups could help you.

Note You need to log in before you can comment on or make changes to this bug.