Dockerは指定されたメモリで操作を実行します

Dockerは指定されたメモリで操作を実行します

次のように:

-m, --memory メモリ制限。形式は数値と単位です。単位は b、k、m、g のいずれかです。最低4M
--memory-swap メモリの合計制限 + スワップ パーティション サイズ。上記と同じ形式です。必須 -m はメモリのソフト制限を設定します。上記と同じ形式 --oom-kill-disable OOM キラーがコンテナを強制終了するのを防ぐかどうか。デフォルトでは設定されていません --oom-score-adj OOM キラーによって強制終了されるコンテナの優先度。範囲は [-1000, 1000]、デフォルトは 0 です
--memory-swappiness は、コンテナの仮想メモリ制御動作を設定するために使用されます。値は 0 から 100 までの整数です。 --kernel-memory カーネル メモリの制限。上記と同じ形式、最小サイズは4M

例を参照してください:

[root@sannian ~]# docker run -d -m 1G --memory-swap 3G -p 9999:80 --restart=always --name gitlab twang2218/gitlab-ce-zh
a3254078a79a084f3f3bed5f4ade3e26c7d86951cd822d95b113227d75b00097
[root@sannian ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
a3254078a79a twang2218/gitlab-ce-zh "/assets/wrapper" 21 分前 2 分稼働 (正常) 22/tcp、443/tcp、0.0.0.0:9999->80/tcp gitlab
[root@sannian ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
twang2218/gitlab-ce-zh 最新 18da462b5ff5 3か月前 1.61GB
registry-vpc.cn-hangzhou.aliyuncs.com/wenty/jumpserver 最新 055f42f305f5 7 か月前 1.41GB
registry.cn-hangzhou.aliyuncs.com/wenty/jumpserver 最新 055f42f305f5 7 か月前 1.41GB
registry.jumpserver.org/public/jumpserver 1.0.0 055f42f305f5 7か月前 1.41GB
registry.jumpserver.org/public/jumpserver 最新 055f42f305f5 7 か月前 1.41GB

補足: Docker run -mはメモリサイズを指定しますが、効果はありません

docker runを実行するときにメモリサイズを指定したいので、-mパラメータを使用します

エラーは次のとおりです

#docker run -id -m 3g -p 7001:7001 197.3.16.51/sysmgr/mywebapptest_app_weblogic:20180820047 警告: カーネルがスワップ制限機能をサポートしていないか、cgroup がマウントされていません。スワップなしではメモリが制限されます。52380a4896f3f916cd0f95f97e233b30d9406840e10c0c53484b3be9000d0321

その後、ヒープ サイズを 5G に設定しても、コンテナーは作成され、3G の制限は適用されないことがわかりました。

情報を確認したところ、このエラーはホストカーネルの関連機能が有効になっていないために発生していることがわかりました。

解決

以下の設定に従ってください

ステップ1:

/etc/default/grubファイルを編集し、GRUB_CMDLINE_LINUX行を次のように変更します。

GRUB_CMDLINE_LINUX="cgroup_enable=メモリ swapaccount=1"

ステップ2:

GRUBを更新します。つまり、$ sudo update-grubを実行します。

ステップ3:

システムを再起動します。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • Docker 起動時の ES メモリ オーバーフローの解決方法
  • Docker JVM メモリ使用量の表示
  • Docker メモリ監視とストレステストの方法
  • Docker View プロセス、メモリ、カップ消費量
  • Docker が elasticsearch を起動するときのメモリ不足の問題と解決策
  • Docker でコンテナに使用できるメモリを制限する方法

<<:  MySQL Binlog ログ処理ツールの比較分析

>>:  ビジュアルデザインとインタラクションデザインについて

推薦する

sed コマンドを使用してファイルの特定の行を効率的に削除する方法

序文通常、ファイル内の特定の行を削除したい場合は、まずファイルを開き、削除する内容を見つけて、これら...

Reactにおけるキーの役割の詳細な説明

目次質問: ボタンをクリックすると、スパンの色が赤に変わりますか?上記の問題を分析します。 2番目の...

Vueはアコーディオン効果を実装する

この記事の例では、アコーディオン効果を実現するためのVueの具体的なコードを参考までに共有しています...

jQuery キャンバスは QR コード付きのポスターを生成します

この記事では、jQuery キャンバスを使用して QR コード付きのポスターを生成するための具体的な...

Dockerコンテナのホスト間マルチネットワークセグメント通信ソリューションの詳細説明

1. マックヴラン前回のブログ投稿で紹介した Docker コンテナのホスト間通信を実現するための ...

CentOS7でルートパスワードをリセットする方法

レンガを移動するプロセスでは、さまざまな環境および構成の問題があり、毎回異なるエラーが発生します。 ...

MySQLの連結関数CONCATの使い方の詳しい説明

前回の記事では、MySQL の置換関数 (Replace) とセグメンテーション関数 (SubStr...

Nginx シグナル制御

Nginx の紹介Nginx は、高性能な HTTP およびリバース プロキシ サーバーであり、IM...

CSS クラスと ID の一般的な命名規則

ページの公開名: #wrapper - ページの外側の端が全体のレイアウト幅を制御します#conta...

jQueryはフォーム検証を実装する

jQueryを使用してフォーム検証を実装します。参考までに、具体的な内容は次のとおりです。登録.ht...

nginx keepaliveの具体的な使い方

http1.1 プロトコルのデフォルトのリクエスト ヘッダーでは、図に示すように、デフォルトで ke...

ネイティブ JavaScript を使用して計算機のサンプル コードを開発する

計算機の主な機能は数値計算を実行することです。計算機機能の Web インスタンスを開発すると、js ...

Linux にバイナリ MySQL をインストールして MySQL パスワードをクラックする方法

1. システムに必要な libaio ソフトウェアがインストールされていることを確認します。インスト...

Vue 2.0 の基礎を詳しく解説

目次1. 特徴2. 例3. オプション4. 基本的な文法5. ライフサイクル6. ルーティング管理 ...

UDP DUP タイムアウト UPD ポート状態検出コード例

以前、単純な UDP サーバーとクライアントの例を書きましたが、その中で、自分自身をクライアントと見...