亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
樓主: linuxfellow
打印 上一主題 下一主題

[內(nèi)存管理] application的heap一直增長,不下降 [復(fù)制鏈接]

論壇徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
11 [報告]
發(fā)表于 2015-03-17 23:58 |只看該作者
回復(fù) 10# 鎮(zhèn)水鐵牛
會不會接收進(jìn)程優(yōu)先級太低,接到的信息來不及處理,全部堆在那里?
我找找發(fā)送端代碼,貼上來

   

論壇徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
12 [報告]
發(fā)表于 2015-03-18 04:34 |只看該作者
我好像找到問題了:
zmq_msg_init 應(yīng)該是沒有把以前在heap 里分配的指針free. 它只是在heap里再申請一塊新的。每次循環(huán)調(diào)用這個函數(shù)時就申請一塊新的。heap size自然就增加了。

論壇徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
13 [報告]
發(fā)表于 2015-03-18 04:59 |只看該作者
那個代碼對小message完全沒問題。如果對大的message 就沒有釋放為content 指針分配的內(nèi)存

論壇徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
14 [報告]
發(fā)表于 2015-03-18 06:02 |只看該作者
本帖最后由 linuxfellow 于 2015-03-18 07:26 編輯

回復(fù) 10# 鎮(zhèn)水鐵牛
   如果zmq是大的message,  zmq_msg_close (&zmq) 有沒有釋放zmq.content所指的內(nèi)存? 我的理解是沒有。zmq.content所指的內(nèi)存沒有釋放,下次循環(huán)就不能用zmq_msg_init; 應(yīng)該用zmq_msg_init_data.傳一個free_mem函數(shù)進(jìn)去釋放zmq.content所擁有的內(nèi)存

論壇徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
15 [報告]
發(fā)表于 2015-03-18 11:53 |只看該作者
回復(fù) 14# linuxfellow

zmq_msg_close (&zmq)文檔有點含糊。這個函數(shù)只是把zmq標(biāo)志為“不再使用”,并沒有馬上回收。在我們的循環(huán)里,如果在zmq.content被釋放前馬上調(diào)用zmq_msg_init (&zmq),這樣就會有內(nèi)存泄露。
在調(diào)用zmq_msg_init (&zmq)前要先檢查并釋放zmq.content

   

論壇徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
16 [報告]
發(fā)表于 2015-03-18 12:04 |只看該作者
本帖最后由 linuxfellow 于 2015-03-18 12:58 編輯

會不會是個scope問題?     zmq_msg_close 釋放內(nèi)存,只有在變量zmq_msg不在其有效范圍內(nèi)時才真正釋放內(nèi)存。
如果把zmq_msg_t zmq_msg定義在while循環(huán)外,zmq_msg總是有效,message不會被真正地free
如果把zmq_msg_t zmq_msg定義在while循環(huán)里,zmq_msg出了有效范圍,message就會被真正地free
while(1)
        {
              zmq_msg_t zmq_msg;   //把變量定義到while-loop里面就不會泄露了;這樣就會保證zmq_msg_close 正確工作?
              zmq_msg_init (&zmq_msg);

              len = zmq_msg_recv (&zmq_msg, rsock, 0);
              if (len >= 0)
              {
                          zmq_msg_send (&zmq_msg, ssock, 0);
              }

              zmq_msg_close (&zmq_msg);
        }


論壇徽章:
0
17 [報告]
發(fā)表于 2015-03-18 12:19 |只看該作者
好復(fù)雜的樣子

論壇徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
18 [報告]
發(fā)表于 2015-03-18 12:40 |只看該作者
本帖最后由 linuxfellow 于 2015-03-18 12:56 編輯

回復(fù) 17# 擇天記
不復(fù)雜
3行代碼。 問題是不是自己的代碼,沒法編譯運行,只能想想各種可能。
以前對于應(yīng)用層的代碼,我只告訴他們你們的application有問題,讓他們自己勞神去。

昨天壇里鎮(zhèn)水鐵牛老兄說幫我瞧瞧代碼,我就向應(yīng)用層的同事要代碼,告訴他們問題能解決。既然話說出去了,就得解決問題。 從沒用過zeromq, 臨時翻書,想想可能的問題。
問題還是很有趣的。

但是下次決不干這種傻事了。


   

論壇徽章:
20
程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-17 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2016-07-16 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2016-07-18 06:20:00每日論壇發(fā)貼之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16賽季CBA聯(lián)賽之江蘇
日期:2017-06-26 11:05:5615-16賽季CBA聯(lián)賽之上海
日期:2017-07-21 18:12:5015-16賽季CBA聯(lián)賽之青島
日期:2017-09-04 17:32:0515-16賽季CBA聯(lián)賽之吉林
日期:2018-03-26 10:02:16程序設(shè)計版塊每日發(fā)帖之星
日期:2016-07-15 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2016-07-07 18:37:512015亞冠之薩濟拖拉機
日期:2015-08-17 12:21:08
19 [報告]
發(fā)表于 2015-03-18 13:09 |只看該作者
這是c++代碼么?行為會跟scope有關(guān)系?好詭異……
回復(fù) 16# linuxfellow


   

論壇徽章:
2
寅虎
日期:2014-11-25 21:47:342015小元宵徽章
日期:2015-03-06 15:58:18
20 [報告]
發(fā)表于 2015-03-18 22:22 |只看該作者
回復(fù) 16# linuxfellow
在czmq的庫中,發(fā)現(xiàn)他們是把上面的函數(shù)經(jīng)過封裝的,當(dāng)時不確定,問題找到就好,不過基于czmq開發(fā)比較好,還有低版本的zmq是有缺陷的。
   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP