Bug 454297 - squid chokes with cache_mem higher than ~ 2gb
Summary: squid chokes with cache_mem higher than ~ 2gb
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: squid
Version: 8
Hardware: i686
OS: Linux
low
low
Target Milestone: ---
Assignee: Jiri Skala
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-07-07 15:20 UTC by p thompson
Modified: 2014-11-09 22:31 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-08-12 05:52:42 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description p thompson 2008-07-07 15:20:27 UTC
Description of problem:

set cache_mem to 3276M in squid.conf
memory usage grows until eventually squid restarts with error.
set cache_mem to 2076M and all OK.

ProLiant DL380 G5
4 x 3Ghz process
4GB ram
kernel 2.6.25.9-40.fc8PAE
squid-2.6.STABLE20-2.fc8

Version-Release number of selected component (if applicable):
squid-2.6.STABLE20-2.fc8

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:

2008/07/07 09:18:05| parseHttpRequest: Requestheader contains NULL characters
2008/07/07 09:18:05| parseHttpRequest: Unsupported method '^CC^ZA^B'
2008/07/07 09:18:05| clientReadRequest: FD 46 (206.209.126.2:29113) Invalid Request
FATAL: xcalloc: Unable to allocate 1 blocks of 4108 bytes!

Squid Cache (Version 2.6.STABLE20): Terminated abnormally.
CPU Usage: 427.570 seconds = 214.965 user + 212.605 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 9
Memory usage for squid via mallinfo():
        total space in arena:  -1067676 KB
        Ordinary blocks:       -1067678 KB     55 blks
        Small blocks:               0 KB      0 blks
        Holding blocks:          3460 KB      4 blks
        Free Small blocks:          0 KB
        Free Ordinary blocks:       1 KB
        Total in use:          -1064218 KB 100%
        Total free:                 1 KB 0%
2008/07/07 09:18:20| storeDirWriteCleanLogs: Starting...


Expected results:


Additional info:

Comment 1 Henrik Nordstrom 2008-08-08 20:14:05 UTC
How large processes do the i686 PAE kernel support? (normal processes, not processes making use of PAE extensions)

I suspect you simply hit the max process size that the 32-bit kernel & OS can support.  64-bit OS (x86_64) recommended if your CPU can support it as it removes these limitations, but also adds a little bit on the memory requirements..

cache_mem is in-process memory cache and adds to the process size, in addition to the cache index and any other memory usage by Squid.

The negative numbers in the memory report is due to glibc mallinfo() being broken and not capable of reporting correct values for processes above 2GB in size.

Comment 2 Jiri Skala 2008-08-12 05:52:42 UTC
Cache_mem is in-process memory as wrote Henrik in comment #1. The process size is limited up to 2 GB despite PAE. Therefore you can't adjust memory above 2 GB (practically less as this limitation).

Well, I see the recommendation to use 64-bit OS as logical and very good solution. I suppose that 4 x 3Ghz processor is hungry to swallow 64-bit OS.

Due to these reasons I'm going to close the bug.


Note You need to log in before you can comment on or make changes to this bug.