2016-12-16 22 views
-1

ドッカーには新しく、あるマシンでは動作しますが別のマシンでは動作しない既存のスクリプトには問題があります。私はドキュメントと既存の回答を読みたいと思っていますが、このトピックの抽象化の多くのレベルで少し失われています。ドッカーのメモリが不足しています

ドッカーでアプリケーションを実行すると、メモリ不足例外が発生します。私は--ulimit memlock -1:-1とドッカーを開始し、メモリ上の他の制限は適用されていないようです。

ドッカー収率内部df -h

[email protected]:/# df -h 
Filesystem                       Size Used Avail Use% Mounted on 
/dev/mapper/docker-253:0-1312128-9219e5dbff0bc6da3a663fab31ec34e6f6b28ba6c8fbd3b343d9131d41f6b1c9 10G 3.0G 7.1G 30%/
tmpfs                        3.9G  0 3.9G 0% /dev 
tmpfs                        3.9G  0 3.9G 0% /sys/fs/cgroup 
/dev/mapper/fedora-root                    50G 20G 28G 42% /etc/hosts 
/dev/mapper/fedora-home                   401G 151G 231G 40% /var/results 
shm                         64M  0 64M 0% /dev/shm 

OOMが発生した場合、最初のファイルシステムは、95%に使用されます。この制限はどこから来ていますか?どこで調整することができますか?

私のデバイスのすべてのパーティションには、十分な空き容量があります。この制限10Gから来るん

[[email protected] RegressionTesting]$ docker info 
Containers: 2 
Running: 1 
Paused: 0 
Stopped: 1 
Images: 52 
Server Version: 1.10.3 
Storage Driver: devicemapper 
Pool Name: docker-253:0-1312128-pool 
Pool Blocksize: 65.54 kB 
Base Device Size: 10.74 GB 
Backing Filesystem: xfs 
Data file: /dev/loop0 
Metadata file: /dev/loop1 
Data Space Used: 12.17 GB 
Data Space Total: 107.4 GB 
Data Space Available: 32.16 GB 
Metadata Space Used: 7.889 MB 
Metadata Space Total: 2.147 GB 
Metadata Space Available: 2.14 GB 
Udev Sync Supported: true 
Deferred Removal Enabled: false 
Deferred Deletion Enabled: false 
Deferred Deleted Device Count: 0 
Data loop file: /var/lib/docker/devicemapper/devicemapper/data 
WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning. 
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata 
Library Version: 1.02.122 (2016-04-09) 
Execution Driver: native-0.2 
Logging Driver: journald 
Plugins: 
Volume: local 
Network: bridge null host 
Kernel Version: 4.8.12-200.fc24.x86_64 
Operating System: Fedora 24 (Twenty Four) 
OSType: linux 
Architecture: x86_64 
Number of Docker Hooks: 2 
CPUs: 8 
Total Memory: 7.787 GiB 
Name: localhost.localdomain 
ID: YXHN:34PG:ZQA3:P4DU:4TFY:6THC:VFI2:E7BE:IGOW:2TTH:3BS7:3OOD 
Registries: docker.io (secure) 
+2

なぜエラーがOOMである場合に、ドッカーコンテナ内で 'df'を実行していますか? 2つは基本的に無関係です – jaxxstorm

+0

コンテナ内で実行されているアプリケーションはOOMを与えます。コンテナが限界に達すると思われるので –

+2

"メモリ"または "ディスクスペース"を意味しますか? – Henry

答えて

0

それは私がそれを調整することができ

新しいコンテナに対してデフォルトで特別な「デバイスの10Gサイズを作成dockerd(デーモン)から来ていますか?実際に、OOMディスク容量の原因ではないが、メモリは、私が
と思いますし、可能な二つがあります

あなたはdockerdに--storage-opt dm.basesize=50Gを提供することで、それを設定することができますがdevicemapperストレージドライバ

PSの場合であります理由:

  • 実在しません。ドッカーホストマシン上でfree -mを使用すると、それを見ることができます。コンテナはドッキング機能付きのホストと同じメモリを使用します

  • 共有メモリが不足しています。 OOMについてはわかりませんが、ドッカーはデフォルトで/ dev/shmを64Mに設定します。いくつかのアプリケーションでは適切ではありません

関連する問題