memlock config for Debian Lenny


today I tried to start Oracle XE with parameters “pre_paged_sga=true” and “lock_sga=true” on my Debian Lenny toybox. But Lenny has had a rather strict and really sticky value for the user’s maximum amount of pinned memory (ulimit -l) value: 32 (kb).

First attempt, change /etc/security/limits.conf:

oracle                  -       memlock         1073741824

Result: Nothing, “ulimit -l” as user newly logged-in user oracle still shows “32”.

After researching for a while, it became clear that there has to be something fishy with using the “su” command, the “ulimit -a” output has been different in several points, compared with a native console login. Debian project philosophy “make it hard” struck again: Look up /etc/pam.d/su, and find, that there is a block:

# Sets up user limits, please uncomment and read /etc/security/limits.conf
# to enable this functionality.
# (Replaces the use of /etc/limits in old login)
# session    required

Needless to say, it worked after uncommenting the last line. And, keep in mind, it depends on a well configured limits.conf. But why, for sake, do I have to change that for my hobby distribution?

With pain in the backside and a bit frustration,

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply