2013-04-17 36 views

回答

2

如果free將內存返回給系統(即它被分配了mmap並且將被釋放,並且將被釋放,並且將被釋放),那麼鎖定將在未映射時自動刪除。這通常是大分配的情況。

如果free將內存返回到進程內部管理的堆,那麼鎖將保留。小分配通常就是這種情況。

在GNU/Linux上,您可以使用mallopt來獲取和設置使用mmap分配的閾值;默認(在我的電腦上,至少)是128kb。在其他Unix版本中,如果您需要該級別的控制,則可能需要直接使用mmap