系统从堆区每分配一块内存时,都会额外多分配一些,用来记录这块内存的信息,在回收时使用。如果小块堆区内存大量分配,则耗费在记录信息用的内存将会很可观。
Linux 使用GNU-C库进行内存的分配与回收。对于小于128K的内存块,GNU-C库是自己进行管理的,以便减少内存碎片,提高分配效率。而且一经分配,除非 进程退出,否则不会还给操作系统。不断分配和回收不同大小的小于128K的堆区内存,会使进程占用的内存不断膨胀。

    栈区的内存分配是最快的(应该是cache miss少),回收是自动的。所以,能用栈区内存就应该使用栈区内存。

相关文章:

  • 2021-08-22
  • 2021-08-30
  • 2021-09-28
  • 2021-04-24
  • 2021-06-21
  • 2022-12-23
猜你喜欢
  • 2021-07-14
  • 2021-06-21
  • 2022-12-23
  • 2021-07-26
  • 2021-10-19
  • 2022-12-23
相关资源
相似解决方案