0
我有一個多線程應用程序,其中我分配數據的緩衝區,然後等待隊列通過套接字發送。所有緩衝區都是可重複的,因爲我在整個程序中只使用固定大小的緩衝區(1024,2048,2080和5248字節)。我注意到,我的程序通常在同一時刻最多使用10種不同長度的緩衝區。在Linux中的內存分配
到目前爲止,我總是手動分配新緩衝區,然後釋放它(使用malloc()和free()),不再需要它。我開始想知道Linux是否足夠聰明以便爲我緩存這個內存,所以下一次我只分配新的緩衝區系統才能快速接收我之前已經使用過的緩衝區,而不會執行分配新內存塊的繁重操作?
malloc可能會使用除sbrk以外的其他方式分配內存,例如匿名內存的mmap。 – user562374 2011-01-14 21:31:32