jvm.options ファイルを elasticsearch 構成に追加し、スタック サイズを変更します (デフォルトは 2 GB)。次に、es を直接起動して、構成ファイルが以前にマッピングされていることを確認します。 -Xms5g -Xmx5g 完全な jvm.options ファイルは次のとおりです。## JVM 構成 ################################################################ ## 重要: JVM ヒープサイズ ################################################################ ## ## 常に最小および最大のJVMヒープを設定する必要があります ## サイズを同じ値に設定します。たとえば、 ## ヒープを 4 GB に設定するには、次のように設定します。 ## ## -Xms4g ## -Xmx4g ## ## https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html を参照してください ## 詳細は ## ################################################################ # Xmsはヒープスペース全体の初期サイズを表します # Xmxはヒープスペース全体の最大サイズを表します -Xms5g -Xmx5g ################################################################ ## エキスパート設定 ################################################################ ## ## このセクション以下のすべての設定は ## エキスパート設定。 ## 自分が何をしているのか理解している ## ################################################################ ## GC 構成 -XX:+ConcMarkSweepGC を使用する -XX:CMS開始占有率=75 -XX:+CMS 占有開始のみを使用する ## 最適化 # 初期化中に JVM が使用する事前タッチ メモリ ページ -XX:+常にプリタッチ ## 基本 # サーバー VM を強制します (32 ビット クライアント JVM では削除) -サーバ # スタックサイズを明示的に設定します(32ビットクライアントJVMでは320kに減らします) -Xss1m # 念のためヘッドレスに設定 -Djava.awt.headless=true # デフォルトで UTF-8 エンコードを使用するようにします (例: ファイル名) -Dfile.encoding=UTF-8 # システムのJNAではなく、常に弊社が提供するJNAを使用してください -Djna.nosys=true # JDK9 では古い形式のファイル権限を使用する -Djdk.io.permissionsUseCanonicalPath=true # Netty を設定するためのフラグ -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.スレッドあたりの最大容量=0 # ログ4j 2 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j.skipJansi=true ## ヒープダンプ # Javaヒープからの割り当てが失敗したときにヒープダンプを生成します # ヒープダンプはJVMの作業ディレクトリに作成されます -XX:+メモリ不足エラー時のヒープダンプ # ヒープダンプの代替パスを指定する # ディレクトリが存在し、十分なスペースがあることを確認する #-XX:HeapDumpPath=${heap.dump.path} ## GC ログ #-XX:+GC詳細を印刷 #-XX:+GCタイムスタンプを印刷 #-XX:+PrintGCDateStamps #-XX:+PrintClassヒストグラム #-XX:+印刷テンリング配布 #-XX:+PrintGCアプリケーション停止時間 # GCステータスをタイムスタンプ付きでファイルに記録する # ディレクトリが存在することを確認する #-Xloggc:${loggc} # デフォルトでは、GC ログ ファイルはローテーションされません。 # 以下の行のコメントを解除すると、GCログファイル # 128MBごとに最大32回ローテーションされます。 #-XX:+GCログファイルのローテーションを使用する #-XX:GCログファイルの数=32 #-XX:GCログファイルサイズ=128M # Elasticsearch 5.0.0 では、JSON 内の引用符で囲まれていないフィールド名に対して例外がスローされます。 # 以前のバージョンで引用符なしのフィールドを使用してドキュメントがすでにインデックスされている場合 Elasticsearch の # では、一部の操作でエラーが発生する可能性があります。 # # 警告: このオプションはElasticsearch 6.0.0で削除され、 # 移行目的のみ。 #-Delasticsearch.json.allow_unquoted_field_names=true 補足: Docker コンテナのメモリ制限 Docker メモリ制限docker run -d -i -t -m 256M --memory-swap 512M --name centos2.12 centos /bin/bash コンテナ インスタンスのメモリ制限を表示します。コンテナのメモリサイズを制限します。
-m, --メモリ # メモリ制限サイズ。単位は b、k、M、g です。最小値は 4M です。 --メモリスワップ # メモリの合計制限 + スワップ パーティション サイズ --memory-reservation # 予約済みメモリ サイズ。ホスト上のコンテナーが占有する最小メモリ。 --oom-kill-disable # メモリ不足のメモリオーバーフロー。コンテナプロセスの強制終了を制限します。デフォルトでは設定されていません --oom-score-adj # OOMキラーによって強制終了されるコンテナの優先度。範囲は[-1000, 1000]、デフォルトは0です。 --メモリスワップ # コンテナの仮想メモリ制御動作を設定するために使用されます。値は0から100までの整数です --kernel-memory コアメモリの制限、最小は 4M です。 1. メモリはコンテナのメモリサイズを設定します。--memory-swap はスワップ パーティションではなく、メモリ + スワップのサイズです。 コンテナのスワップパーティション swap = メモリスワップ - メモリ 2. Dockerのデフォルトコンテナのスワップパーティションのサイズはメモリと同じですメモリスワップが設定されていないか、0 に設定されています。 コンテナのスワップ サイズはメモリのサイズです。 コンテナのプロセスが使用する最大メモリ = メモリ + スワップ 3. メモリスワップ設定メモリスワップが -1 に設定されている場合; コンテナのメモリ サイズは、メモリによって設定されたサイズです。 スワップ パーティションのサイズは、ホスト マシンのスワップ サイズです。 コンテナ プロセスが使用できる最大メモリ = メモリ + ホスト スワップ サイズ。 4. メモリオーバーフロー--oom-kill-disable コンテナプロセスの強制終了を制限します。(メモリ制限後に設定する必要があります。) docker run -d -i -t -m 256M --oom-kill-disable --name Centos-1 centos /bin/bash 5. カーネルメモリとユーザーメモリカーネル メモリとユーザー メモリの違いは、カーネル メモリはスワップアウトできないことです。 スワップアウトができないと、コンテナがメモリを過剰に消費して一部のシステム サービスをブロックする可能性があります。 コアメモリには以下が含まれます。 ページを積み重ねる スラブページ ソケットメモリの圧力 TCP メモリの圧力 このメモリは、カーネル メモリ制限を設定することによって制限できます。 各プロセスはスタック ページを消費します。カーネル メモリを制限することで、カーネル メモリの使用量が高くなりすぎたときに新しいプロセスが作成されないようにすることができます。 docker run -d -i -t -m 500M --kernel-memory 128M --name Centos-2 centos /bin/bash コンテナ メモリを 256M に制限し、コア メモリを 128M に制限します。 docker run -d -i -t --kernel-memory 128M --name Centos-3 centos /bin/bash メモリはホストメモリサイズであり、コアメモリは128Mに制限されています。 6. Swappiness メモリリサイクルページコンテナのカーネルは、匿名ページの一定の割合をスワップアウトできます。 この比率を設定するには --memory-swappiness を使用します。 --memory-swappiness は 0 から 100 まで設定できます。 # 0 は匿名ページスワッピングをオフにすることを意味します。 # 100 はすべての匿名ページを交換できることを意味します。デフォルトでは、--memory-swappiness が適用されていない場合、値は親プロセスから継承されます。 docker run -d -i -t --memory-swappiness=0 --name Centos-4 centos /bin/bash --memory-swappiness を 0 に設定すると、コンテナのワーキングセットが保持され、スワップエージェントのパフォーマンスの低下を回避できます。 Swappiness 値が大きいほど、スワップ パーティションがよりアクティブに使用され、値が小さいほど、物理メモリがよりアクティブに使用されます。デフォルトの swappiness=60 sysctl vm.swappiness = 100 # cat /proc/sys/vm/swappiness 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: MySQL 5.7.33 インストール プロセスの詳細な図解
>>: JavaScript を使用してソートアルゴリズムを実装する方法
Web デザインで js を使用すると、多くのページ効果を実現できますが、HTML タグの META...
1. Linuxのインストール(rootユーザー操作) 1. vncserver をインストールしま...
前述のこの記事はとても短いです〜主な目的は、モバイル端末上のクリックと js イベントのメカニズムに...
目次シナリオ: サーバーデータベースを毎日定期的にバックアップする必要がある1. まずバックアップス...
前回の記事では、Promise を使用して小さなプログラム wx.request をカプセル化する実...
目次序文:詳しい紹介:練習する:要約する序文: Python、Java、Cシリーズなど、すべての主要...
MySQL ストアド プロシージャ パラメータには、in、out、inout の 3 種類があります...
この記事では、ユーザー名が使用可能かどうかを確認するためのVueの具体的なコードを例として紹介します...
Nginx 502 Bad Gateway エラーに何度か遭遇しました。ここでメモしておこうと思いま...
この記事では、MySQL 8.0.15をダウンロードしてインストールするための具体的な手順を参考まで...
1. はじめに最近ブログをアップグレードし、記事ページの下部に前の記事と次の記事に直接ジャンプできる...
環境サーバー: centos7クライアント: ウィンドウCentos7 に docker+gitla...
HTMLで表を描くには、表タグを使用します。 trは行を意味しますtdは列を示すth はテーブ...
この記事の例では、計算機機能を実装するためのjsの具体的なコードを参考までに共有しています。具体的な...
スタイルシートCSS (カスケーディング スタイル シート) は、HTML Web ページを美しくす...