今回の記事の趣旨ですがメモリ上限の解除ができるかどうかの検証であって、メモリ上限の解除を推奨するものではないことをご承知おきください。
推奨しない理由としてはこの後説明しますが、デフォルトのメモリサイズは13GBを使い切る処理を行うとセッションがクラッシュします。その後メモリ上限が解除されたランタイムに切り替えるかどうかのダイアログが表示されるのですがこれを見る限り、メモリ不足のための救済措置のようであるためです。それでもやってみたいという方は自己責任でよろしくお願い致します。
元ネタはこちらのツイートです。
GoogleColabratoryのメモリ使用量を上限を超えてクラッシュさせると25GB上限のインスタンスに切り替えられるハックを見つけたhttps://t.co/sstIkVfOcV
— wakame@kaggleサボりマン (@wakame1367) August 6, 2019
上記件について検証に使ったGoogleColabratoryはこちらになります。
GoogleColabratory - RAM_Increase_runtime_test.ipynb
以降は上記GoogleColabratoryで行いました、メモリ上限の解除の確認のための各手順を説明したものになります。
メモリ上限が解除されていないことを確認する
メモリ上限が解除されていないことを確認するため下記コマンドを実行します。
解除されていないことが確認できました。
# before RAM increase
!free -h
# output
total used free shared buff/cache available
Mem: 12G 381M 11G 872K 718M 12G
Swap: 0B 0B 0B
セッションを強制的にクラッシュさせる
以下コードをGoogleColabratoryノートブックにて実行する。デフォルトのメモリサイズは13GBを使い切る処理のためセッションがクラッシュします。
[_ for _ in range(10000000000)]
RAMを増やすをクリックすると下記ダイアログが表示されます。メモリ上限を解除するためはいを押します。
メモリ上限が解除されていることを確認する
メモリ上限が解除されていることを確認するため下記コマンドを実行します。
解除されていることが確認できました。
# after RAM increase
!free -h
# output
total used free shared buff/cache available
Mem: 25G 421M 23G 872K 1.6G 24G
Swap: 0B 0B 0B