elasticsearch启动警告无法锁定JVM内存
elasticsearch启动警告
UnabletolockJVMmemory(ENOMEM).ThiscanresultinpartoftheJVMbeingswappedout.IncreaseRLIMIT_MEMLOCK(ulimit).
内存锁定值的限制(maxlockedmemory)
这个值只对普通用户起作用,对超级用户不起作用,这个问题是由于CAP_IPC_LOCK造成的.linux对内存是分页管理的,这意味着有不需要时,在物理内存的数据会被换到交换区或磁盘上.有需要时会被交换到物理内存,而将数据锁定到物理内存可以避免数据的换入/换出.采用锁定内存有两个理由:1)由于程序设计上需要,比如oracle等软件,就需要将数据锁定到物理内存.2)主要是安全上的需要,比如用户名和密码等等,被交换到swap或磁盘,有泄密的可能,所以一直将其锁定到物理内存.
查看项目进程限制,17497为pid
cat/proc/17497/limits
查看系统限制ulimit-a
corefilesize(blocks,-c)unlimited datasegsize(kbytes,-d)unlimited schedulingpriority(-e)0 filesize(blocks,-f)unlimited pendingsignals(-i)1032980 maxlockedmemory(kbytes,-l)64 maxmemorysize(kbytes,-m)unlimited openfiles(-n)600000 pipesize(512bytes,-p)8 POSIXmessagequeues(bytes,-q)819200 real-timepriority(-r)0 stacksize(kbytes,-s)unlimited cputime(seconds,-t)unlimited maxuserprocesses(-u)600000 virtualmemory(kbytes,-v)unlimited filelocks(-x)unlimited
vim/etc/security/limits.conf增加2行,设为更大的值或者unlimited
- soft memlock unlimited
- hard memlock unlimited
其他可以使用ulimit添加自定义的限制(很多选项系统默认未开启),可以对一些不同用户进行限制
# #-core-limitsthecorefilesize(KB) #-data-maxdatasize(KB) #-fsize-maximumfilesize(KB) #-memlock-maxlocked-in-memoryaddressspace(KB) #-nofile-maxnumberofopenfiles #-rss-maxresidentsetsize(KB) #-stack-maxstacksize(KB) #-cpu-maxCPUtime(MIN) #-nproc-maxnumberofprocesses #-as-addressspacelimit(KB) #-maxlogins-maxnumberofloginsforthisuser #-maxsyslogins-maxnumberofloginsonthesystem #-priority-theprioritytorunuserprocesswith #-locks-maxnumberoffilelockstheusercanhold #-sigpending-maxnumberofpendingsignals #-msgqueue-maxmemoryusedbyPOSIXmessagequeues(bytes) #-nice-maxnicepriorityallowedtoraisetovalues:[-20,19] #-rtprio-maxrealtimepriority
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接