Hi, we're running a reasonably busy squid proxy system here which peaks at about 130-150 requests per second. The OS is Ubuntu Hardy and at the minute, I'm using the packaged 2.6.18 squid version. I'm considering a hand-compile of 2.7, though it's quite nice to get security patches from the distro. We have 2x SATA disks, a 150GB and a 1TB. The linux system is on software RAID1 across the two disks. The main cache is 600GB in size on a single non-RAID 970GB partition at the end of the 1TB disk. A smaller partition is reserved on the other disk as a secondary cache, but that's not in use yet and the squid logs are currently written there. The filesystems for the caches are reiserfs v3 and the cache format is AUFS. We've been monitoring the hit rates, cpu usage, etc. using munin. We average about 13% byte hit rate. Iowait is now a big issue -- perhaps not surprisingly. I had 4GB RAM in the server and PAE turned on. I upped this to 8GB with the idea of expanding squid's RAM cache. Of course, I forgot that the squid process can't address anything like that much RAM on a 32-bit system. I think the limit is about 3GB, right? I have two questions. Whenever I up the cache_mem beyond about 2GB, I notice squid terminates with signal 6 and restarts as the cache_mem fills. I presume this is squid hitting the 3GB-odd limit? Could squid not behave a little more politely in this situation -- either not attempting to allocate the extra RAM, giving a warning or an error? My main question is, is there a sensible way for me to use the extra RAM? I know the OS does disk caching with it but with a 600GB cache, I doubt that'll be much help. I thought of creating a 3-4GB ramdisk and using it as a volatile cache for squid which gets re-created (either by squid -z or by dd of an fs image) each time the machine reboots. The things is, I don't know how squid addresses multiple caches. If one cache is _much_ faster but smaller than the other, can squid prioritise using it for the most regularly hit data or does it simply treat each cache as equal? Are there docs on these sorts of issues? Any suggestions would be most welcome. Gavin