Fork me on GitHub

cuspy memo


MALLOC_MMAP_THRESHOLD_ と MALLOC_MMAP_MAX_

2010/02/22 Monday 03:50:51

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) する場合ある様なので困ったのう。

  1. Buy@Discount.Abilify” rel=”nofollow”>…

    Buywithout prescription…

    Trackback by ROY — 2011/07/30 Saturday @ 03:01:02

  2. Order@Abilify.Online” rel=”nofollow”>.

    Buynow it…

    Trackback by EDUARDO — 2011/07/30 Saturday @ 03:26:26

  3. Purchase@Discount.Abilify” rel=”nofollow”>..

    Buyit now…

    Trackback by TERRENCE — 2011/07/30 Saturday @ 05:27:38

  4. Order@Discount.Acai” rel=”nofollow”>…

    Buywithout prescription…

    Trackback by TRACY — 2011/07/31 Sunday @ 01:09:25

  5. Purchase@Generic.Acai” rel=”nofollow”>…

    Buygeneric drugs…

    Trackback by WALLACE — 2011/07/31 Sunday @ 18:53:01

  6. Cheap@Acai.Without.Prescription” rel=”nofollow”>..

    Buygeneric meds…

    Trackback by SALVADOR — 2011/07/31 Sunday @ 23:55:41

  7. Buy@Cheap.Abana” rel=”nofollow”>..

    Buyno prescription…

    Trackback by BRANDON — 2011/08/01 Monday @ 19:21:11

  8. Order@Abilify.Online” rel=”nofollow”>..

    Buygeneric drugs…

    Trackback by DUSTIN — 2011/08/02 Tuesday @ 00:46:16

  9. Buy@Discount.Coral.Calcium” rel=”nofollow”>.

    Buygeneric meds…

    Trackback by FRANKLIN — 2011/08/02 Tuesday @ 16:11:36

  10. Buy@Discount.Abilify” rel=”nofollow”>..

    Buygeneric pills…

    Trackback by EDUARDO — 2011/08/03 Wednesday @ 13:40:06

  11. Buy@Abilify.5mg.10mg.15mg.20mg.30mg” rel=”nofollow”>…

    Buywithout prescription…

    Trackback by PERRY — 2011/08/04 Thursday @ 00:00:21

  12. Buy@Discount.Acai” rel=”nofollow”>…

    Buynow…

    Trackback by KIRK — 2011/08/04 Thursday @ 07:09:47

  13. Order@Acai.Online” rel=”nofollow”>..

    Buydrugs without prescription…

    Trackback by RICARDO — 2011/08/04 Thursday @ 08:12:46

  14. Generic@Acai.500mg.Without.Prescription” rel=”nofollow”>.…

    Buyno prescription…

    Trackback by LESLIE — 2011/08/05 Friday @ 14:10:29

  15. stage 3 ovarian cancer

    Buy_drugs without prescription…

    Trackback by TYLER — 2011/10/18 Tuesday @ 06:01:03

  16. the process of methanogens metabolism

    Buy_drugs without prescription…

    Trackback by FREDDIE — 2011/10/19 Wednesday @ 09:56:42

  17. ept pregnancy test

    Buy_generic meds…

    Trackback by PEDRO — 2011/10/22 Saturday @ 16:29:25

  18. market drugs edmonton

    Buy_now it…

    Trackback by DERRICK — 2011/10/23 Sunday @ 23:05:07

  19. adrenal cancer symptoms

    Buy_generic drugs…

    Trackback by LESLIE — 2011/10/25 Tuesday @ 09:30:11

  20. indigestion and chest pain

    Buy_now it…

    Trackback by GORDON — 2011/10/26 Wednesday @ 13:50:10

  21. ultimate diet pills

    Buy_generic pills…

    Trackback by ISAAC — 2011/10/26 Wednesday @ 23:50:10

  22. decongestants hypertension safe

    Buy_now it…

    Trackback by KYLE — 2011/10/30 Sunday @ 10:22:56

  23. canine kidney failure symptoms

    Buy_generic pills…

    Trackback by JORDAN — 2011/10/31 Monday @ 15:27:23

  24. insulin receptor inhibition

    Buy_without prescription…

    Trackback by BRADLEY — 2011/11/02 Wednesday @ 04:07:37

  25. sample tlc diets

    Buy_generic drugs…

    Trackback by RICARDO — 2011/11/04 Friday @ 16:55:40

  26. cancer chemotherapy combination drugs

    Buy_generic meds…

    Trackback by JORGE — 2011/11/05 Saturday @ 23:52:25

  27. rebound phenomenon during gradual clonidine withdrawal

    Buy_drugs without prescription…

    Trackback by THEODORE — 2011/11/06 Sunday @ 21:32:47

  28. kids weight gain

    Buy_generic drugs…

    Trackback by BRADLEY — 2011/11/07 Monday @ 04:12:32

  29. 100 mile diet store

    Buy_generic meds…

    Trackback by MICHAEL — 2011/11/08 Tuesday @ 11:52:21

  30. list of anti anxiety drugs

    Buy_generic meds…

    Trackback by NATHANIEL — 2011/11/08 Tuesday @ 20:41:12

  31. pain relief until root canal

    Buy_generic meds…

    Trackback by JIMMY — 2011/11/09 Wednesday @ 03:46:29

  32. glucose to insulin ratio metabolic syndrome

    Buy_drugs without prescription…

    Trackback by ZACHARY — 2011/11/09 Wednesday @ 10:26:06

  33. interactions with azithromycin and astragalus

    Buy_it now…

    Trackback by LUKE — 2011/11/11 Friday @ 07:26:17

  34. dog retching vomiting weight loss

    Buy_generic drugs…

    Trackback by STEVE — 2011/11/12 Saturday @ 15:06:45

  35. does hiv always lead to aids

    Buy_generic meds…

    Trackback by DEREK — 2011/11/12 Saturday @ 20:06:31

  36. space herpes

    Buy_now…

    Trackback by ARTURO — 2011/11/13 Sunday @ 17:46:28

  37. remeron dreams

    Buy_it now…

    Trackback by DOUG — 2011/11/17 Thursday @ 02:04:20

  38. fruity taste and diabetes

    Buy_it now…

    Trackback by JIM — 2011/11/17 Thursday @ 15:24:27

  39. side@effects.of.protonix.after.it.has.been.stopped” rel=”nofollow”>…

    Buynow it…

    Trackback by JORDAN — 2011/12/09 Friday @ 21:33:22

Leave a comment

You must be logged in to post a comment.