推 PACO:進系統管理員那邊關就好了 10/27 10:16
> -------------------------------------------------------------------------- <
作者: sitos (麥子) 看板: WarCraftChat
標題: Re: [閒聊] 先關魔獸再關GGC
時間: Tue Oct 27 10:27:05 2009
※ 引述《craftwar (no vista support)》之銘言:
: 最近用多開,注意到一個現象
: 直接關Garena會順便把一個War3關掉 (不知道哪版開始改的)
: 似乎很方便?
: 實際上,GGC直接暴力關掉War3 (不使用正常方式結束程式)
: 這樣做的結果就是,程式結束應該做的釋放資源等動作不會被執行
: (驗證方式請用message sniffer,看war3不會收到WM_DESTROY就結束
: 印象中clean up的動作是在WM_DESTROY中做的)
: 會不會有memory leak,這要看war3是怎麼寫的
: 像我就很偷懶,MSDN說程式結束會自動釋放的,我就沒手動寫
: 如果你沒正常結束koala's WC3 helper,我可以告訴你
: 基本上會有memory leak,某些系統資源會沒機會釋放
如果一個程式已經「結束」但是還占用系統資源,應該是 OS 沒寫好吧。
至少以 memory 來看的話,不管有沒有 leak ,只要 process 結束,
所以分配給它的 page 應該都會釋放掉,這是記在 page table 裡面,
沒道理不去把它清一清,不是很懂你所謂某些系統資源沒機會釋放指的是什麼。
--
我實實在在的告訴你們,一粒麥子不落在地裡死了,
仍舊是一粒,若是死了,就結出許多子粒來。
約翰福音 12:24
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.31.132
> -------------------------------------------------------------------------- <
作者: craftwar (no vista support) 看板: WarCraftChat
標題: Re: [閒聊] 先關魔獸再關GGC
時間: Tue Oct 27 22:01:57 2009
※ 引述《sitos (麥子)》之銘言:
: ※ 引述《craftwar (no vista support)》之銘言:
: : 最近用多開,注意到一個現象
: : 直接關Garena會順便把一個War3關掉 (不知道哪版開始改的)
: : 似乎很方便?
: : 實際上,GGC直接暴力關掉War3 (不使用正常方式結束程式)
: : 這樣做的結果就是,程式結束應該做的釋放資源等動作不會被執行
: : (驗證方式請用message sniffer,看war3不會收到WM_DESTROY就結束
: : 印象中clean up的動作是在WM_DESTROY中做的)
: : 會不會有memory leak,這要看war3是怎麼寫的
: : 像我就很偷懶,MSDN說程式結束會自動釋放的,我就沒手動寫
: : 如果你沒正常結束koala's WC3 helper,我可以告訴你
: : 基本上會有memory leak,某些系統資源會沒機會釋放
: 如果一個程式已經「結束」但是還占用系統資源,應該是 OS 沒寫好吧。
: 至少以 memory 來看的話,不管有沒有 leak ,只要 process 結束,
: 所以分配給它的 page 應該都會釋放掉,這是記在 page table 裡面,
: 沒道理不去把它清一清,不是很懂你所謂某些系統資源沒機會釋放指的是什麼。
這是在MSDN上看過的
某些win32 API會有這現象
例如某些handle開一開沒關就結束,就會有memory leak
因為system的table中有記錄,但是程式被強制結束
OS不知道可以釋放,該entry就被遺忘了
我只記得process handle會有這現象
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.104.229
推 sitos:嗯,那應該算 OS 的 leak 不是 app 的 leak 吧 10/27 23:04
→ craftwar:沒啥差啦,還不都是memory leak 所以程式不要亂terminate 10/27 23:19
→ sitos:反正重開機就好了,現在 mem 那麼便宜,別計較了。 10/28 00:32
推 wulouise:好吧 以後wc3要好好關 10/28 08:44
> -------------------------------------------------------------------------- <
作者: forestluch (小強) 看板: WarCraftChat
標題: Re: [閒聊] 先關魔獸再關GGC
時間: Wed Oct 28 00:03:32 2009
※ 引述《craftwar (no vista support)》之銘言:
: ※ 引述《sitos (麥子)》之銘言:
: : 如果一個程式已經「結束」但是還占用系統資源,應該是 OS 沒寫好吧。
: : 至少以 memory 來看的話,不管有沒有 leak ,只要 process 結束,
: : 所以分配給它的 page 應該都會釋放掉,這是記在 page table 裡面,
: : 沒道理不去把它清一清,不是很懂你所謂某些系統資源沒機會釋放指的是什麼。
: 這是在MSDN上看過的
: 某些win32 API會有這現象
: 例如某些handle開一開沒關就結束,就會有memory leak
: 因為system的table中有記錄,但是程式被強制結束
: OS不知道可以釋放,該entry就被遺忘了
: 我只記得process handle會有這現象
那請問...
按Alt+Tab回到桌面後 再對著工作列按右鍵關閉魔獸呢?
因為常常會跳出來看有沒有人開房... 太久沒人開都這樣關然後換房
另外進 工作管理員 關閉程式 算強制結束還正常呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.118.64.132
推 tnav:無所謂, 你覺得因為玩太久導致電腦變得慢慢的, 那就重開機 10/28 01:17
> -------------------------------------------------------------------------- <
作者: craftwar (no vista support) 看板: WarCraftChat
標題: Re: [閒聊] 先關魔獸再關GGC
時間: Wed Oct 28 22:39:35 2009
※ 引述《forestluch (小強)》之銘言:
: ※ 引述《craftwar (no vista support)》之銘言:
: : 這是在MSDN上看過的
: : 某些win32 API會有這現象
: : 例如某些handle開一開沒關就結束,就會有memory leak
: : 因為system的table中有記錄,但是程式被強制結束
: : OS不知道可以釋放,該entry就被遺忘了
: : 我只記得process handle會有這現象
: 那請問...
: 按Alt+Tab回到桌面後 再對著工作列按右鍵關閉魔獸呢?
: 因為常常會跳出來看有沒有人開房... 太久沒人開都這樣關然後換房
視窗化很好用
: 另外進 工作管理員 關閉程式 算強制結束還正常呢?
有問是/否 ←強制結束,可能有意外驚喜
基本上不會差太多 不過總有例外的
最後,這當然不只限於War3,其他程式也可能有同樣現象
反正砍太多次程式變慢後,就重機開吧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.108.76