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

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

推薦する

Vue2とVue3の兄弟コンポーネント通信バスの違いと使い方

目次vue2.x vue3.x tiny-emitterプラグインの使用Mittプラグインの使用vu...

MySQLデータベースの基礎知識と操作のまとめ

この記事では、例を使用して、MySQL データベースの基本的な知識と操作について説明します。ご参考ま...

Vue 仮想リストの実例

目次序文デザイン成し遂げるまとめ序文最近は、いつも延々とスワイプしています。 Weibo をチェック...

jsのディープコピーを理解しましょう

目次js ディープコピーデータ保存方法浅いコピー/深いコピーとは何か一般的なディープコピーの実装1....

Linux seqコマンドの使い方

1. コマンドの紹介seq (シーケンス) コマンドは、指定されたステップ サイズに従って、開始番号...

HTMLフォームアプリケーションにはチェックボックスとラジオボタンの使用が含まれます

チェックボックスやラジオボタンの使用を含むコードをコピーコードは次のとおりです。 <!DOCT...

Nginx リクエスト制限の設定方法

Nginx は、多くの優れた機能を備えた強力で高性能な Web およびリバース プロキシ サーバーで...

MySQLの文字タイプは大文字と小文字を区別します

デフォルトでは、MySQLの文字タイプは大文字と小文字を区別しません。つまり、name='A...

Javascript配列の重複排除のいくつかの方法の詳細な説明

目次アレイ重複排除1 2層forループ(バブルソートの2層ループ記述に類似) 2 ループとインデック...

MySQL における in と exists の違いの詳細な説明

1. 事前に準備する便宜上、ここで 2 つのテーブルを作成し、そこにいくつかのデータを追加します。果...

Vueはechartsに基づいて3次元の縦棒グラフを実装します

3次元縦棒グラフは、正面、右側、上部の3つの部分で構成されています。描画するときは、正面をグラフィッ...

Dockerイメージをプルしてバージョンを確認する方法

イメージのバージョンとタグを確認するには、docker hubで確認する必要があります。アドレスは次...

IE をフリーズさせる HTML コード

任意のテキスト エディターを開き、次のコードをコピーして、たとえば SomeFilename.htm...

...

CSSスタイルの記述順序と命名規則と注意事項

書き順の重要性ブラウザのリフローを減らし、ブラウザのDOMレンダリングパフォーマンスを向上させる①:...