どうにも本筋じゃないところで盛り上がっているように見えて、動物愛護団体の戦術としては正しかったのか間違ってるのかよくわかんないんだけど、言わなきゃならないことだから言っとく。
これから冬になって寒くなるけど、コートの飾りで毛皮使ってるのがあるけど、あんなの飾りなんだからフェイクファーを選んでください。それならタヌキさんは死なない。
動物愛護団体のタヌキマリオ・クレームに任天堂が返答「ゲーム以上の意味はないよ」
そうそう。歯医者は飛び込みで行きましたが、レントゲン撮影に失敗しておいて「さっきのは放射線は出てないから大丈夫です」とか言ってたけど、放射線が出てなければ写真は取れてないはずで、写真が取れていなければもっと前の段階で気づかないか? そういうことを言われると、他のことも信用していいのかわからなくなる。
んで、今回のは詰め物が取れたわけではなく、新しい虫歯らしい。他にも10本以上虫歯があるという。これが本当なら8月に定期検診行ったのは無駄だったのかということになる。あるいは虫歯ということにして治療点数を稼ぐ悪徳医師なのかもしれないが、さすがにそれはないと思いたい。
とりあえず1週間後に予約している、普段の歯医者で相談する。問題は仮に嘘をつかれても自分ではわからないんだよなー。
そんなわけで、Pythonで長く動くプロセスを書くときは
re.purge()
dircache.reset()
とかを適宜やって
キャッシュを消す必要があるということがわかりました。自前のキャッシュ機構があればそれも同様。
まあそれでもオブジェクト数、メモリ使用量ともに増えてるので、
完全解決には至ってないんですけどね。
ほとんど徹夜で朔のメモリリークを追ってた。
gc.get_objects() で生きているオブジェクトの一覧が出るので、
type() でクラス名を取得して、
定期的にどのクラスのオブジェクトが増えているかをログに出す。
そしたらlist,dict,tupleが多かったので、
それぞれ先頭1件をログに出す。
その結果、ファイルの中身をキャッシュする機構で、
ファイルがないときに積んでるのが悪いっぽかったので、
ファイルの存在を確認するよう修正してみた。
これでどれくらい改善するのかねえ。