Why do I get a 'Using mlock ulimits for SHM_HUGETLB deprecated' warning and a kernel trace when I start an application that uses huge pages such as Oracle DB or Sybase?
Issue
- When I start an application that uses huge pages such as Oracle DB or Sybase I get a "Using mlock ulimits for SHM_HUGETLB deprecated" warning and a kernel trace:
kernel: ------------[ cut here ]------------
kernel: WARNING: at fs/hugetlbfs/inode.c:939 hugetlb_file_setup+0x227/0x250() (Not tainted)
kernel: Hardware name: Bochs
kernel: Using mlock ulimits for SHM_HUGETLB deprecated
kernel: Modules linked in: autofs4 nfs lockd fscache nfs_acl auth_rpcgss ...
kernel: Pid: 6277, comm: oracle Not tainted 2.6.32-279.14.1.el6.x86_64 #1
kernel: Call Trace:
kernel: [<ffffffff8106b7b7>] ? warn_slowpath_common+0x87/0xc0
kernel: [<ffffffff8106b8a6>] ? warn_slowpath_fmt+0x46/0x50
kernel: [<ffffffff81141b14>] ? user_shm_lock+0x54/0xc0
kernel: [<ffffffff811f75a7>] ? hugetlb_file_setup+0x227/0x250
kernel: [<ffffffff8127d2a0>] ? sprintf+0x40/0x50
kernel: [<ffffffff81205bb2>] ? newseg+0x152/0x290
kernel: [<ffffffff81200fa5>] ? ipcget+0x1f5/0x200
kernel: [<ffffffff81205a49>] ? sys_shmget+0x59/0x60
kernel: [<ffffffff81205a60>] ? newseg+0x0/0x290
kernel: [<ffffffff81205a50>] ? shm_security+0x0/0x10
kernel: [<ffffffff812051b0>] ? shm_more_checks+0x0/0x20
kernel: [<ffffffff8100b0f2>] ? system_call_fastpath+0x16/0x1b
kernel: ---[ end trace 12ca68e9704cfafe ]---
- Subsequent starts of the application don't trigger the warning nor the trace.
Environment
- Red Hat Enterprise Linux 6.
- Kernel version below kernel-2.6.32-431.el6
- Huge pages enabled.
- Application allocates shared memory segments on huge pages.
- maximum locked-in-memory address space (
memlock) limits are configured in/etc/security/limits.conf.
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
