Serviceを読んで理解し、同意したものとみなします。Notebookは、変数以外にもキャッシュしているものがあります。出力(Out)は間違いなくキャッシュしています。変数を出力した場合、その変数をキャシュしていると思われ、サイズの大きなものを出力した場合はそれがキャッシュに残ってしまうので、メモリ不足になりやすいと思われます。Notebookでは、memory_profilerというパッケージを使うとメモリの消費量を測定できます。memory_profilerをインストールできていない場合は、まずインストールしておきます。次のようなコードを実行させると、メモリーは回収できます。rangeというエラーになります。問題点は多いですが、取り敢えず以下のようなコードから始めてみたらどうでしょうか。ipythonで続けてsay()を実行するとこんな感じになります。回答の中に警告の出し方を変える方法の補足があります。私はipythonセッションのスクリーンキャストを作成する必要があります、そして混乱する視聴者を避けるために、私は異なるパッケージからのwarnings.warn呼び出しによって発せられるすべての警告を無効にしたいです。私は結局それを考え出した。