If you need to lower your process size, we recommend lowering the max object sizes in the 'http', 'ftp' and 'gopher' config lines. We are not able to account for all memory that Squid uses. This would require excessive amounts of code to keep track of every last byte. We do our best to account for the major uses of memory. Also, note that the malloc and free functions have their own overhead.
Some additional memory is required to keep track of which chunks are in use, and which are free.
Additionally, most operating systems do not allow processes to shrink in size. When a process gives up memory by calling free , the total process size does not shrink. So the process size really represents the maximum size your Squid process has reached. To tell if it is the second case, first rule out the first case and then monitor the size of the Squid process. If it dies at a certain size with plenty of swap left then the max data segment size is reached without no doubts.