elasticsearch起動警告JVMメモリをロックできませんでした。


elasticsearch起動警告Unable to lock JVM memory (ENOMEM). This can result in part of the JVM being swapped out. Increase RLIMIT_MEMLOCK (ulimit).メモリロック値の制限(max locked memory)
この値は普通のユーザーにしか作用しません。スーパーユーザーには機能しません。この問題はCAP_によるものです。IPC_LOCKによって.linuxはメモリを改ページして管理しています。これは不要があると物理メモリのデータが交換エリアやディスクに交換されます。必要があれば物理メモリに交換されます。データを物理メモリにロックするとデータの入れ替えが回避されます。ロックメモリを採用する理由は2つあります。1)プログラムの設計上にoracleなどのソフトウェアが必要です。データを物理メモリにロックする必要があります。
プロジェクトのプロセス制限を表示します。17497はpidです。cat /proc/17497/limitsシステム制限ulimit-aを表示します。

core file size     (blocks, -c) unlimited
data seg size      (kbytes, -d) unlimited
scheduling priority       (-e) 0
file size        (blocks, -f) unlimited
pending signals         (-i) 1032980
max locked memory    (kbytes, -l) 64
max memory size     (kbytes, -m) unlimited
open files           (-n) 600000
pipe size      (512 bytes, -p) 8
POSIX message queues   (bytes, -q) 819200
real-time priority       (-r) 0
stack size       (kbytes, -s) unlimited
cpu time        (seconds, -t) unlimited
max user processes       (-u) 600000
virtual memory     (kbytes, -v) unlimited
file locks           (-x) unlimited
vim/etc/security/limits.com nfは2行増加し、より大きな値またはunlimitedに設定します。
  •       ソフト   memlock      unlimited
  •       hard   memlock      unlimited
  • 他にもulimitを使ってカスタマイズの制限を追加することができます。多くのオプションシステムはデフォルトでは開かれていません。いくつかのユーザーを制限することができます。
    
    #
    # - 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)
    # - stack - max stack size (KB)
    # - cpu - max CPU time (MIN)
    # - nproc - max number of processes
    # - as - address space limit (KB)
    # - maxlogins - max number of logins for this user
    # - maxsyslogins - max number of logins on the system
    # - priority - the priority to run user process with
    # - locks - max number of file locks the user can hold
    # - sigpending - max number of pending signals
    # - msgqueue - max memory used by POSIX message queues (bytes)
    # - nice - max nice priority allowed to raise to values: [-20, 19]
    # - rtprio - max realtime priority
    締め括りをつける
    以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に対して一定の参考学習価値を持ってほしいです。ありがとうございます。もっと知りたいなら、下のリンクを見てください。