[問題] 程式佔用的記憶體越來越大是合理嗎?

看板C_and_CPP (C/C++)作者 (chu)時間15年前 (2010/12/09 20:02), 編輯推噓3(3011)
留言14則, 9人參與, 最新討論串1/1
一開始時執行佔用5M多記憶體(程式本身1百多K), 執行副程式後, 記憶體會佔到100M左右(依據我副程式malloc而定) 副程式離開後, 並確定有free掉原本malloc宣告的記憶體 佔用的記憶體會多個2、3k左右(希望可以更小) main程式裡面會有一個while(1) 當成socket server listen 並且 create thread去處理 不知是程式的問題, 還是windows XP本身記憶體管理機制的問題?? 因為程式是要當成service 所以沒法讓程式一直佔用擴大下去 小弟才疏學淺 如果有哪裡說得不好 還請多多見諒! 謝謝 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.106.243

12/09 20:12, , 1F
create thread的thread有回收嗎?
12/09 20:12, 1F

12/09 20:15, , 2F
是指ExitThread(0)嗎? 有的
12/09 20:15, 2F

12/09 20:28, , 3F
通常,九成以上是你的問題,跟OS無關
12/09 20:28, 3F

12/09 20:34, , 4F
你以為自稱小弟就會有妹推你嗎? XD
12/09 20:34, 4F

12/09 21:47, , 5F
推測 memory leak 問題
12/09 21:47, 5F

12/09 22:59, , 6F
99%是你的問題
12/09 22:59, 6F

12/10 10:06, , 7F
memory leak了
12/10 10:06, 7F

12/10 15:09, , 8F
while(1)裡面, 檢查看看是哪邊造成memory leak吧
12/10 15:09, 8F

12/10 15:09, , 9F
就不然就先寫一個while(1),裡面只有create thread/
12/10 15:09, 9F

12/10 15:10, , 10F
delete thread最基本的動作, 測試看看會不會有memory
12/10 15:10, 10F

12/10 15:10, , 11F
leak情況發生.
12/10 15:10, 11F

12/10 23:39, , 12F
真的不知道哪裡有 memory leaks的時候再請出 valgrind 吧
12/10 23:39, 12F

12/11 16:47, , 13F

12/11 16:48, , 14F
自問自答 不要用CreateThread 改用_beginthreadex 才不會leak
12/11 16:48, 14F
文章代碼(AID): #1D0CKwoR (C_and_CPP)
文章代碼(AID): #1D0CKwoR (C_and_CPP)