僕の務める会社でも memcached はほとんどのサービスで利用されています。 今は業務も少ないので、ひまつぶしにmemcachedのコードを読んでいました。 Slab Allocatorの部分に興味を持ったので、それについてわかったことのメモ。 以下のサイトで事前知識を付けてからコードを読みました。 memcachedを知り尽くす:第2回 memcachedのメモリストレージを理解する Slab Allocator : メモリの確保・管理を行うメカニズム ・メモリアロケーションでオーバーヘッドの大きいmalloc()を極力呼ばない ・一度アロケートしたメモリ領域を再利用してメモリフラグメンテーションを抑える これらを実現するために以下のルールでメモリアロケーションを行っています。 ・memcachedの初期化時にmalloc()で大きな領域(slabと呼ばれる, デフォルトで1MB)を