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去观察,会发现内存使用如下:
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);
}
那么,这程序的内存使用会变成:
7ba5 11 work text data BSS heap s 65536 0 0 65536
f9ef8 12 work text data BSS heap s XXXX 0 0 XXXX