BlogiMind開発者ブログ2019-08-10Pythonのresourceでスクリプトのメモリ使用量の制限python概要resourceを使ってPythonで使うメモリにリミットをかけてみる。Errorで落ちるようになる。3.7.3psutil==5.6.3resource.RLIMIT_DATAresource.RLIMIT_DATAはヒープサイズの上限を設定できる。下記は使用量を500MBに制限した例。hardのtuple)を入れる。下記例ではsoftに500MBを指定してhardは-1にしている。-1)試しにpandasで程よい容量のデータを確保してみる。int64np.zerosで6000万行確保するとDataFrameのサイズは480MBくらいになる。対象はヒープサイズの容量なので実メモリの利用はもう少し多く、psコマンドで見るとvszが770MB、rssが541MBになっていた。6100万にあげて実行するとヒープサイズでも500MBを超えてトドメが刺せた。)MemoryErrorちゃんとMemoryErrorになってる。process(プロセスが確保できるアドレス空間の最大領域)。RLIMIT_DATAの時と同じように500MBを指定してみる。-1)pandasで程よい容量のデータを確保してみる。)2500万件DataFrameを作ってpsでプロセスのメモリ使用量を見ると、vszが496MB、RSSが267MB。2700万に増やしたらMemoryErrorになった。(1)リンク株式会社iMindスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。