teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

スレッドとweakrefについて追記

2018/04/15 14:25

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -2,7 +2,7 @@
2
2
  今ならもっといい手法がある気がしますが。。
3
3
 
4
4
  1,対象のObject自身が自身が関数呼び出しでメモリリークをおこなさない事を保証する。
5
- まずそのObject自体は外部リソース(file/network/database)を使っていますか?
5
+ まずそのObject自体は外部リソース(file/network/database/thread)を使っていますか?
6
6
  使っているならwith文や`contextlib.closing`を使った形にして確実に解放される形に変更してくださいな。
7
7
 
8
8
  2,調査について
@@ -15,4 +15,5 @@
15
15
 
16
16
  3,経験則だと
17
17
  3-1,コンテナやイベントリスナに追加したまま削除せずに放置でメモリリークになるパターンがあります。
18
+ => 弱参照[weakref](https://docs.python.jp/3/library/weakref.html)を使うことも検討してみてくださいな。
18
19
  3-2,単純にGCがまだ実行されていないだけという事もあるので、GC.Collect()しても徐々にメモリが増加する特微が出るか確認してくださいな。

2

追記

2018/04/15 14:25

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -14,5 +14,5 @@
14
14
  2-3,コンストラクタ引数のパラメータをhash値化したもの。
15
15
 
16
16
  3,経験則だと
17
- 1,コンテナやイベントリスナに追加したまま削除せずに放置でメモリリークになるパターンがあります。
17
+ 3-1,コンテナやイベントリスナに追加したまま削除せずに放置でメモリリークになるパターンがあります。
18
- 2,単純にGCがまだ実行されていないだけという事もあるので、GC.Collect()しても徐々にメモリが増加する特微が出るか確認してくださいな。
18
+ 3-2,単純にGCがまだ実行されていないだけという事もあるので、GC.Collect()しても徐々にメモリが増加する特微が出るか確認してくださいな。

1

追記

2018/04/15 03:04

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -14,4 +14,5 @@
14
14
  2-3,コンストラクタ引数のパラメータをhash値化したもの。
15
15
 
16
16
  3,経験則だと
17
- コンテナやイベントリスナに追加したまま削除せずに放置でメモリリークになるパターンがあります。
17
+ 1,コンテナやイベントリスナに追加したまま削除せずに放置でメモリリークになるパターンがあります。
18
+ 2,単純にGCがまだ実行されていないだけという事もあるので、GC.Collect()しても徐々にメモリが増加する特微が出るか確認してくださいな。