Loading article…
libumemはメモリ割り当てを管理するために使用されるメモリアロケータユーザスペースライブラリであり、[1] [2] 、アプリケーションのメモリ管理バグを検出するために使用される場合があります。これはSlabアロケータの概念に基づいています。libumemは、Solaris 9 Update 3以降、 Solarisの標準部分として利用できます。
機能
このライブラリの関数は、マルチスレッドアプリケーションのサポートにより、高速でスケーラブルなオブジェクトキャッシュメモリ割り当てを提供します。標準の malloc(3C) ファミリの関数と、より柔軟な umem_alloc(3MALLOC) ファミリに加えて、libumem は umem_cache_create(3MALLOC) で説明されている強力なオブジェクトキャッシュサービスを提供します。[3]
libumem を使い始めるのは簡単です。LD_PRELOAD を "libumem.so" に設定するだけで、実行されるすべてのプログラムは libumem の malloc(3C) と free(3C) (または new と delete) を使用します。[4] このスラブ アロケータは、多数のスレッドと多数の CPU を持つシステム用に設計されています。単純なアロケータによるメモリ割り当ては、深刻なボトルネックになる可能性があります。
参照
出典
- ^ 「2001 USENIX 年次技術会議議事録」(PDF) USENIX 協会。2001 年。
- ^ “github / omniti-labs / portableumem”. github.com. 2010年6月27日. 2020年8月4日閲覧。
- ^ 「libumem によるメモリ リーク検出」。2013 年 10 月 23 日時点のオリジナルよりアーカイブ。2013年 10 月 22 日閲覧。
- ^ 「Adam Leventhal's Weblog」。2017年3月25日時点のオリジナルよりアーカイブ。
- Portable Umem: libumem を他の UNIX 系システムに移植するオープンソースの取り組み
