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

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 9152 | 回復(fù): 12
打印 上一主題 下一主題

[小機(jī)硬件] 請教一個AIX 64位程序內(nèi)存使用情況的怪異現(xiàn)象 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-08-31 16:28 |只看該作者 |倒序?yàn)g覽
30可用積分
本帖最后由 toniz 于 2011-08-31 16:31 編輯

下面是兩個時間段,用SVMON觀察schedserv這個程序內(nèi)存使用情況。
箭頭的地方,為什么17,18這兩個堆的空間都沒有占滿,就使用了19這個堆。

pdump.schedserv.431058.09Jun2011-15.18.46.out                             
----------------------------------------------------------------           
    9e86e  13 work text data BSS heap   s  65536     0    0 65536           
   4a2101  12 work text data BSS heap   s  65536     0    0 65536           
   6e89e8  16 work text data BSS heap   s  65536     0    0 65536           
   5a555a  14 work text data BSS heap   s  65536     0    0 65536           
   29d4a8  15 work text data BSS heap   s  65536     0    0 65536           
    a9078  17 work text data BSS heap   s  38581     0    0 38581 <==      
    dda20  11 work text data BSS heap   s  32751     0    0 32751           
   76758b  18 work text data BSS heap   s    343     0    0   343 <==      
   147867  19 work text data BSS heap   s    112     0    0   112 <==      
-----------------------------------------------------------------         
pdump.schedserv.431058.09Jun2011-15.22.03.out                             
-----------------------------------------------------------------         
    9e86e  13 work text data BSS heap   s  65536     0    0 65536           
   4a2101  12 work text data BSS heap   s  65536     0    0 65536           
   6e89e8  16 work text data BSS heap   s  65536     0    0 65536           
   5a555a  14 work text data BSS heap   s  65536     0    0 65536           
   29d4a8  15 work text data BSS heap   s  65536     0    0 65536           
    a9078  17 work text data BSS heap   s  65536     0    0 65536 <==      
    dda20  11 work text data BSS heap   s  32751     0    0 32751           
   76758b  18 work text data BSS heap   s  65536     0    0 65536 <==      
   147867  19 work text data BSS heap   s  11582     0    0 11582 <==      


這段代碼:
char *pch[5000];
for(int i=0;i<5000;++i){
pch=new char[100000];
}
如果用SVMON去觀察,會發(fā)現(xiàn)內(nèi)存使用如下:
7ba5        11 work text data BSS heap           s   2696     0    0  2696
f9ef8        12 work text data BSS heap           s   2318     0    0  2318

如果在這段程序下面加上:
for(int i=0;i<5000;++i){
memset(pch,0x00,100000);
}
那么,這程序的內(nèi)存使用會變成:
7ba5        11 work text data BSS heap           s   65536     0    0  65536
f9ef8        12 work text data BSS heap           s   XXXX     0    0  XXXX

也就是說,AIX的MOLLOC子程序會先計(jì)算這個值,定義了,就在堆里面預(yù)留了地址頁。11的堆已經(jīng)不會再放下其他數(shù)據(jù)了。


大牛指點(diǎn)下:
1.我上面的做的分析是否恰當(dāng)。
2.AIX中是否還存在其它可能導(dǎo)致一個段沒用完,就申請另外一個段的現(xiàn)象。
3.Memory corrupted.有沒有可能導(dǎo)致上面這個問題。

謝謝~~

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2011-09-01 13:24 |只看該作者
好奇上下文
研究的目的是什么。。。。。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2011-09-02 08:27 |只看該作者
期待有人來解決

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2011-09-05 09:50 |只看該作者
回復(fù) 2# emperor


    因?yàn)槟壳斑@個程序運(yùn)行一段時間后內(nèi)存就越來越大。兩天可達(dá)4G。但按照正常邏輯是不可能 會占用這么大內(nèi)存的。

    目前想辨別是什么原因?qū)е碌摹?br />
    如果是內(nèi)存泄露,那么應(yīng)該是一個段用完再用另外一個段。

    所以想了解下還有沒有什么其它可能導(dǎo)致這種內(nèi)存現(xiàn)象。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2011-09-05 10:43 |只看該作者
回復(fù) 4# toniz


    有現(xiàn)成的,就不解釋了,自己看吧

http://publib.boulder.ibm.com/in ... n%2Faix_memory.html

。。。。。。

論壇徽章:
1
操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-02-18 06:20:00
6 [報(bào)告]
發(fā)表于 2011-09-05 10:59 |只看該作者
不是泄漏,是沒有回收……新開一個?隙ú粫又郧暗挠昧,你看看你的線程有沒有真的結(jié)束

我懷疑你的服務(wù)中守護(hù)進(jìn)程對于各線程的處理有問題,線程數(shù)據(jù)沒有終止而是被保留了。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2011-09-05 11:03 |只看該作者
回復(fù) 5# emperor


    好的  謝謝  我去看看

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2011-09-05 11:25 |只看該作者
回復(fù) 5# emperor


    不好意思   是我沒說明清楚   

我們的程序是C++程序,不是JAVA程序。

我看了哥們給的文檔,雖然里面講的是JVM。但也仔細(xì)看了下,沒發(fā)現(xiàn)有什么可以解釋這個內(nèi)存使用情況的額。

還是謝謝你了。。。

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2011-09-05 11:33 |只看該作者
回復(fù) 6# spook


    spook 你好呀。。。

    是有守護(hù)進(jìn)程,也有線程。5個線程一直從程序開始開到程序結(jié)束的。中間不會結(jié)束線程。

    我也用多線程和容器寫了一個程序觀察內(nèi)存使用情況,發(fā)現(xiàn)也是一個段用完了再申請新的段使用,不會一個段還剩那么多地址頁,就申請另外一個段。。

論壇徽章:
1
操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-02-18 06:20:00
10 [報(bào)告]
發(fā)表于 2011-09-05 13:22 |只看該作者
本帖最后由 spook 于 2011-09-05 13:27 編輯

http://publib.boulder.ibm.com/in ... Frtref%2Fmemset.htm

開始沒注意,看這個,

memset 的 直接給內(nèi)存賦值的,呃,用的不是java
看下用法
#include <string.h>
void *memset(void *dest, int c, size_t count);

看說明
Description
The memset() function sets the first count bytes of dest to the value c. The value of c is converted to an unsigned character.


那肯定是按照 100000先分了……
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP