Squid internal overview Squid storage manager (ctd) What is a memObject ? Stores the state data for store clients and the store server Keeps state for any memory pages associated with the StoreEntry A single memObject ONLY references one StoreEntry, and vice versa Memory use Uses a stmem list, which is a single linked list of fixed page sizes Memory at the beginning of the object which is not being used can be freed, allowing squid to handle very very large objects Objects up to a given size (maxInMemObjectSize) are not freed aggressively like large objects, to increase the memory hit-rate Memory is aggressively freed during storeAppend(), and smaller objects are also considered for removal to make way for the new data