Windows XPおよびWindows 7では、自作のPythonプログラムを動かすと
タスクマネージャの仮想メモリ欄が(頻繁に増えたり減ったりしつつ)長期的には徐々に増えていくので
何故だ???と頭を悩ませていたのですが、Windows 10で同じプログラムを動かすと、
仮想メモリ欄、その他メモリ関係の数値はピクリとも変わらず一定です。
(Windows 10ではコミットサイズという名前になっていますが)
タスクマネージャで表示される仮想メモリの数字は、実際にプロセスが使用している
数値ではなく、OSが各プロセスに将来使用するかもしれない分なども含めて予約的に割り当てている数値だと理解しています。
当プログラムは長期的に(3か月以上)連続運転したいものなのでメモリリークがあったらまずいなぁと
悩んでいたのですが、結局これはWindows XP, 7のメモリ割り当て管理が下手くそなだけで致命的な障害にはならないだろう、という理解をして問題ないでしょうか。
なおXPでは起動時の仮想メモリは約20MBで、ちょうど12時間で2.6MB増えました。
アドバイスいただけたら幸いです。
なお、私のWindows XP, 7環境では以下のような超簡単なプログラムでも仮想メモリ量は微増していきました。
一体全体、どういう理由なのかわかりません。
Python
1from tkinter import * 2 3class Sample: 4 def __init__(self): 5 self.root = Tk() 6 self.cnt = 0 7 8 self.label = Label(self.root, text = str(self.cnt)) 9 self.label.pack() 10 11 self.root.after(100, self.rewrite) 12 13 def rewrite(self): 14 self.label.configure(text = str(self.cnt)) 15 self.cnt += 1 16 self.root.after(100, self.rewrite) 17#-------------------------------------- Start Main 18if __name__ == "__main__": 19 20 sample = Sample() 21 sample.root.mainloop()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/10 14:36