malloc分配超過128kb內存-實驗記錄

默認情況下,當malloc或者new操作一次性分配大於等於128KB的內存時,會使用mmap來進行,而在小於128KB時,使用的是brk的方式

小於128KB時的測試截圖如下:
在這裏插入圖片描述

大於128KB時的測試截圖如下:
在這裏插入圖片描述

128KB是可以調節的,如下,重新使用brk的方式進行內存分配。
在這裏插入圖片描述

測試代碼如下:

#include <iostream>
#include <unistd.h>
#include <sys/types.h>
#include <malloc.h>

int main()
{
        std::cout << getpid() << std::endl;
        mallopt(M_MMAP_THRESHOLD,129*1024);
        while(1)
{
        char* c = new char[1024*128];
        usleep(1000);
}
return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章