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 ログ処理ツールの比較分析

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

推薦する

JavaScript フォーム検証の例

HTML フォームは、名前、電子メール アドレス、場所、年齢などのユーザー情報を収集するためによく使...

XHTML 入門チュートリアル: XHTML ハイパーリンク

ハイパーリンクはインターネット全体を接続していると言っても過言ではありません。ハイパーリンクは、別の...

CSS でフロートをクリアするための完全ガイド (要約)

1. 親divは疑似クラスafterとzoomを定義します <スタイル タイプ="...

HTMLを圧縮しない理由はいくつかある

理由は簡単です。 HTML ドキュメントでは、複数の空白文字は 1 つの空白文字と同等です。つまり、...

MySQLはPartition関数を使用して水平分割戦略を実装します。

目次1件のレビュー2 水平分割の5つの戦略2.1 ハッシュ2.2 範囲2.3. キー2.4. リスト...

CSS3 フリップカード番号サンプルコード

今日会社から課題をもらったのですが、効果図は以下のとおりです。 どのような効果を実現したいかは特に決...

Vue で HTML 5 ドラッグ アンド ドロップ API を使用する方法

ドラッグ アンド ドロップ API は、ドラッグ可能な要素を HTML に追加し、ドラッグ可能な豊富...

Windows 10 で MySQL をダウンロードするための詳細なチュートリアル

MySQL のバージョンは、Enterprise Edition と Community Editi...

入力テキスト ボックスと画像検証コードの位置合わせの問題 (画像は常に入力より 1 つ上になります)

Web ページ制作では、input と img が同じ行に配置されることが多く、img タグが常に ...

Ubuntu 18.04 に mysql5.7.23 をインストールするチュートリアル

この記事では、Ubuntu18.04にmysql5.7.23をインストールする具体的な方法を参考まで...

JS 非同期実行の原則とコールバックの詳細

1. JSの非同期実行の原則JavaScript はシングルスレッドですが、ブラウザはマルチスレッド...

MySQL 変数の原理と応用例

MySQL ドキュメントでは、MySQL 変数はシステム変数とユーザー変数の 2 つのカテゴリに分類...

vuex名前空間の使用

目次Vuex は単一の状態ツリーを使用するため、すべてのアプリケーション状態が比較的大きなオブジェク...

my.cnf (my.ini) 重要なパラメータの最適化設定手順

MyISAM ストレージエンジンMyISAM ストレージ エンジンは、書き込みよりも読み取りが多く、...