よくある「手元では動いたけどデプロイしたらメモリ不足でこけた」を手元で再現検証したかったので、
調べてみたらdockerで普通にできるみたいなので、こう。
ホスト側:メモリ4GBのところに
$ docker run --rm -it --memory 4g python:3.6.2 bash
コンテナ側:8GB確保して死んでしまうの図
root@c131a93a39db:/# cat <<EOD | python
> a = bytearray(8589934592)
> import time
> time.sleep(5)
> EOD
Killed
Docker for Mac 使ってる場合、 Preferences でデフォルトで2GBに制限されてるので、GUIから制限を増やしてやる必要あるので注意。
コマンドラインの --memory
オプションで指定してもそれ以上割り当てられない。