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, tools, and much more.