MALLOC_MMAP_THRESHOLD_ と MALLOC_MMAP_MAX_
malloc(3) を呼んだ時、glibc はヒープ領域から指定したサイズのチャンクを確保するが、ヒープ領域が足りなかった場合 glibc は brk(2) を呼んでヒープ領域を拡張するか、Anonymous Memory と呼ばれる領域を mmap(2) して新たなヒープ領域を作成する。
この動作を制御する環境変数が MALLOC_MMAP_THRESHOLD_ らしいのでこれを試しているのだけれど、効かなくて困った。
しかたがないので glibc のソースを読んでいると mmap(2) を使用する最大サイズを指定する MALLOC_MMAP_MAX_ というのも見つけた、これはばっちり効いたのでこれを使おう。
1M を 3回 malloc するだけのコード
#include <stdio .h>
#include <stdlib .h>
int main(){
int i;
for(i=0;i<3;i++){
malloc(1*1024*1024);
}
return 0;
}
% strace ./a.out (略) mmap2(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7c9b000 mmap2(NULL, 2101248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7a9a000 mmap2(NULL, 3149824, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7799000
デフォルトではこんな風に、3回 mmap(2) が呼ばれる。
MALLOC_MMAP_MAX_=0 にすると、
% strace env MALLOC_MMAP_MAX_=0 ./a.out (略) brk(0) = 0x8efa000 brk(0x901b000) = 0x901b000 brk(0x911b000) = 0x911b000 brk(0x921b000) = 0x921b000
4回 brk(2) を呼ぶようになった。
MALLOC_MMAP_MAX_=1 にすると、
% strace env MALLOC_MMAP_MAX_=1 ./a.out (略) mmap2(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7cfe000 brk(0) = 0x94bc000 brk(0x95dd000) = 0x95dd000 brk(0x96dd000) = 0x96dd000
最初の malloc(3) だけ mmap(2) するようになった。
単位はMbyte なのね。(MALLOC_TRIM_THRESHOLD_の単位は byte だったのに・・・)
これで完全に malloc(3) の中で mmap(2) を呼ぶこと無いかというと、そういう訳でもなくて、特定の条件下で mmap(2) する場合ある様なので困ったのう。
Permanent Link: http://www.cuspy.org/blog/archives/866
Trackback URL: http://www.cuspy.org/blog/archives/866/trackback

Buy@Discount.Abilify” rel=”nofollow”>……
Buywithout prescription…
Trackback by ROY — 2011/07/30 Saturday @ 03:01:02
Order@Abilify.Online” rel=”nofollow”>.…
Buynow it…
Trackback by EDUARDO — 2011/07/30 Saturday @ 03:26:26
Purchase@Discount.Abilify” rel=”nofollow”>..…
Buyit now…
Trackback by TERRENCE — 2011/07/30 Saturday @ 05:27:38
Order@Discount.Acai” rel=”nofollow”>……
Buywithout prescription…
Trackback by TRACY — 2011/07/31 Sunday @ 01:09:25
Purchase@Generic.Acai” rel=”nofollow”>……
Buygeneric drugs…
Trackback by WALLACE — 2011/07/31 Sunday @ 18:53:01
Cheap@Acai.Without.Prescription” rel=”nofollow”>..…
Buygeneric meds…
Trackback by SALVADOR — 2011/07/31 Sunday @ 23:55:41
Buy@Cheap.Abana” rel=”nofollow”>..…
Buyno prescription…
Trackback by BRANDON — 2011/08/01 Monday @ 19:21:11
Order@Abilify.Online” rel=”nofollow”>..…
Buygeneric drugs…
Trackback by DUSTIN — 2011/08/02 Tuesday @ 00:46:16
Buy@Discount.Coral.Calcium” rel=”nofollow”>.…
Buygeneric meds…
Trackback by FRANKLIN — 2011/08/02 Tuesday @ 16:11:36
Buy@Discount.Abilify” rel=”nofollow”>..…
Buygeneric pills…
Trackback by EDUARDO — 2011/08/03 Wednesday @ 13:40:06
Buy@Abilify.5mg.10mg.15mg.20mg.30mg” rel=”nofollow”>……
Buywithout prescription…
Trackback by PERRY — 2011/08/04 Thursday @ 00:00:21
Buy@Discount.Acai” rel=”nofollow”>……
Buynow…
Trackback by KIRK — 2011/08/04 Thursday @ 07:09:47
Order@Acai.Online” rel=”nofollow”>..…
Buydrugs without prescription…
Trackback by RICARDO — 2011/08/04 Thursday @ 08:12:46
Generic@Acai.500mg.Without.Prescription” rel=”nofollow”>.…
Buyno prescription…
Trackback by LESLIE — 2011/08/05 Friday @ 14:10:29
stage 3 ovarian cancer…
Buy_drugs without prescription…
Trackback by TYLER — 2011/10/18 Tuesday @ 06:01:03
the process of methanogens metabolism…
Buy_drugs without prescription…
Trackback by FREDDIE — 2011/10/19 Wednesday @ 09:56:42
ept pregnancy test…
Buy_generic meds…
Trackback by PEDRO — 2011/10/22 Saturday @ 16:29:25
market drugs edmonton…
Buy_now it…
Trackback by DERRICK — 2011/10/23 Sunday @ 23:05:07
adrenal cancer symptoms…
Buy_generic drugs…
Trackback by LESLIE — 2011/10/25 Tuesday @ 09:30:11
indigestion and chest pain…
Buy_now it…
Trackback by GORDON — 2011/10/26 Wednesday @ 13:50:10
ultimate diet pills…
Buy_generic pills…
Trackback by ISAAC — 2011/10/26 Wednesday @ 23:50:10
decongestants hypertension safe…
Buy_now it…
Trackback by KYLE — 2011/10/30 Sunday @ 10:22:56
canine kidney failure symptoms…
Buy_generic pills…
Trackback by JORDAN — 2011/10/31 Monday @ 15:27:23
insulin receptor inhibition…
Buy_without prescription…
Trackback by BRADLEY — 2011/11/02 Wednesday @ 04:07:37
sample tlc diets…
Buy_generic drugs…
Trackback by RICARDO — 2011/11/04 Friday @ 16:55:40
cancer chemotherapy combination drugs…
Buy_generic meds…
Trackback by JORGE — 2011/11/05 Saturday @ 23:52:25
rebound phenomenon during gradual clonidine withdrawal…
Buy_drugs without prescription…
Trackback by THEODORE — 2011/11/06 Sunday @ 21:32:47
kids weight gain…
Buy_generic drugs…
Trackback by BRADLEY — 2011/11/07 Monday @ 04:12:32
100 mile diet store…
Buy_generic meds…
Trackback by MICHAEL — 2011/11/08 Tuesday @ 11:52:21
list of anti anxiety drugs…
Buy_generic meds…
Trackback by NATHANIEL — 2011/11/08 Tuesday @ 20:41:12
pain relief until root canal…
Buy_generic meds…
Trackback by JIMMY — 2011/11/09 Wednesday @ 03:46:29
glucose to insulin ratio metabolic syndrome…
Buy_drugs without prescription…
Trackback by ZACHARY — 2011/11/09 Wednesday @ 10:26:06
interactions with azithromycin and astragalus…
Buy_it now…
Trackback by LUKE — 2011/11/11 Friday @ 07:26:17
dog retching vomiting weight loss…
Buy_generic drugs…
Trackback by STEVE — 2011/11/12 Saturday @ 15:06:45
does hiv always lead to aids…
Buy_generic meds…
Trackback by DEREK — 2011/11/12 Saturday @ 20:06:31
space herpes…
Buy_now…
Trackback by ARTURO — 2011/11/13 Sunday @ 17:46:28
remeron dreams…
Buy_it now…
Trackback by DOUG — 2011/11/17 Thursday @ 02:04:20
fruity taste and diabetes…
Buy_it now…
Trackback by JIM — 2011/11/17 Thursday @ 15:24:27
side@effects.of.protonix.after.it.has.been.stopped” rel=”nofollow”>……
Buynow it…
Trackback by JORDAN — 2011/12/09 Friday @ 21:33:22