Re: Memory management

From: Dean Gaudet <dgaudet-list-squid-dev@dont-contact.us>
Date: Tue, 30 Dec 1997 10:40:44 -0800 (PST)

  This message is in MIME format. The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--------------1E101691331D896C4DC28273
Content-Type: TEXT/PLAIN; CHARSET=us-ascii
Content-ID: <Pine.LNX.3.95dg3.971230102818.24502Q@twinlark.arctic.org>

On Sun, 28 Dec 1997, Henrik Nordstrom wrote:

> Does anyone have any ideas on how to manage memory in a more friendly
> way? I did a short trace on how squid allocates/frees memory and it is
> not very pretty...

In apache we have a really cheap memory allocator -- and I think the same
trick would work for squid. All our resources are allocated in something
called a "pool". You can create sub_pools at will, and when you "clear"
a pool all resources attached to it (and its children) are released (such
as memory, file handles, sub processes, it's generic), any sub-pools are
"destroyed". A "cleared" pool is empty and can be reused. Or you can
"destroy" a pool and that will clear the pool and then delete the pool
itself. For example, each request has a pool of its own, and when the
request is done it's a matter of destroying that pool to reclaim all
the resources.

Memory allocation from malloc() is done in 8k blocks (plus whatever may be
needed for large allocation). The blocks are carved up as required by our
routines to satisfy individual palloc() requests. The blocks are never
free()d, they're put on a free list for reuse when a pool is cleared.

What makes the memory allocator fast though is that we have no free()
routine. The only way to reclaim memory is to clear a pool. It takes
a bit of getting used to, for example you can't just malloc() willy-nilly
for every line in a file as you're parsing a file (because you wouldn't
return the memory until the end of the request). But you can make a
sub pool and clear it after each line, clearing a pool is cheap too.

The allocation routine amounts to:

    if (there's room in the current block) {
        result = current_free_mark;
        current_free_mark += size_allocated;
        return result;
    }
    otherwise get a new 8k block from malloc and start carving it up

There's a wee bit more to it of course, we actually do first-fit on
the list of blocks in a pool.

After a certain "warm up" period we've probably called malloc() as many
times as we'll ever call it, and built up a suitable sized list of free
blocks.

If you want to see the ugly code it's in the alloc.c file. We've never
"tuned" it -- it may be that 8k blocks are too small or large... but
profiles don't show the allocator as being a problem.

Dean

--------------1E101691331D896C4DC28273
Content-Type: TEXT/PLAIN; CHARSET=us-ascii; NAME="single_request.log"
Content-ID: <Pine.LNX.3.95dg3.971230102818.24502R@twinlark.arctic.org>
Content-Description:

97/12/28 11:54:06| httpAccept: FD 14: accepted
xmalloc_count= 152/ 651447 accounted= 0/ 524580 mallinfo= 160 840548
xmalloc_count= 4096/ 655543 accounted= 0/ 524580 mallinfo= 4104 844652
xmalloc_count= 16/ 655559 accounted= 0/ 524580 mallinfo= 24 844676
xmalloc_count= 12/ 655571 accounted= 4096/ 528676 mallinfo= 24 844700
97/12/28 11:54:06| clientReadRequest: FD 14: reading request...
xmalloc_count= 254/ 655825 accounted= 0/ 528676 mallinfo= 264 844964
97/12/28 11:54:06| parseHttpRequest: Method is 'GET'
97/12/28 11:54:06| parseHttpRequest: Request is 'http://henrik/hno/squid/historic/'
xmalloc_count= 300/ 656125 accounted= 0/ 528676 mallinfo= 304 845268
xmalloc_count= 16/ 656141 accounted= 0/ 528676 mallinfo= 24 845292
xmalloc_count= 206/ 656347 accounted= 0/ 528676 mallinfo= 216 845508
97/12/28 11:54:06| parseHttpRequest: Request Header is
Referer: http://henrik/hno/squid/
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/3.01Gold (X11; I; Linux 2.0.32 i586)
Host: henrik
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*

xmalloc_count= 38/ 656385 accounted= 0/ 528676 mallinfo= 48 845556
xmalloc_count= 34/ 656419 accounted= 0/ 528676 mallinfo= 40 845596
97/12/28 11:54:06| parseHttpRequest: Complete request received
xmalloc_count= -254/ 656165 accounted= 0/ 528676 mallinfo= 0 845596
xmalloc_count= -34/ 656131 accounted= 0/ 528676 mallinfo= -264 845332
xmalloc_count= 34/ 656165 accounted= 0/ 528676 mallinfo= 0 845332
xmalloc_count= 280/ 656445 accounted= 0/ 528676 mallinfo= 288 845620
xmalloc_count= 16/ 656461 accounted= 0/ 528676 mallinfo= 24 845644
97/12/28 11:54:06| clientParseRequestHeaders: REQ_NOCACHE = NOT SET
97/12/28 11:54:06| clientParseRequestHeaders: REQ_CACHABLE = SET
97/12/28 11:54:06| clientParseRequestHeaders: REQ_HIERARCHICAL = SET
97/12/28 11:54:06| clientProcessRequest: GET 'http://henrik/hno/squid/historic/'
97/12/28 11:54:06| storeKeyPublic: GET http://henrik/hno/squid/historic/
97/12/28 11:54:06| storeGet: looking up GET/http://henrik/hno/squid/historic/
97/12/28 11:54:06| clientProcessRequest: TCP_MISS for 'http://henrik/hno/squid/historic/'
97/12/28 11:54:06| clientProcessMiss: 'GET http://henrik/hno/squid/historic/'
97/12/28 11:54:06| storeCreateEntry: 'http://henrik/hno/squid/historic/' icp flags=150
xmalloc_count= 56/ 656517 accounted= 0/ 528676 mallinfo= 64 845708
xmalloc_count= 100/ 656617 accounted= 56/ 528732 mallinfo= 104 845812
xmalloc_count= 680/ 657297 accounted= 100/ 528832 mallinfo= 688 846500
xmalloc_count= 34/ 657331 accounted= 0/ 528832 mallinfo= 40 846540
xmalloc_count= 34/ 657365 accounted= 0/ 528832 mallinfo= 48 846588
97/12/28 11:54:06| new_MemObject: returning 0x8362340
97/12/28 11:54:06| new_StoreEntry: returning 0x8388b30
97/12/28 11:54:06| storeKeyPrivate: 'http://henrik/hno/squid/historic/'
97/12/28 11:54:06| storeHashInsert: Inserting Entry 0x8388b30 key '20/GET/http://henrik/hno/squid/historic/'
xmalloc_count= 41/ 657406 accounted= 753/ 529585 mallinfo= 48 846636
97/12/28 11:54:06| new_MemObjectData: calling memInit()
xmalloc_count= 12/ 657418 accounted= 0/ 529585 mallinfo= 24 846660
xmalloc_count= 40/ 657458 accounted= 0/ 529585 mallinfo= 48 846708
xmalloc_count= 16/ 657474 accounted= 0/ 529585 mallinfo= 24 846732
97/12/28 11:54:06| storeClientCopy: 20/GET/http://henrik/hno/squid/historic/, seen 0, want 0, size 4096, cb 0x8053490, cbdata 0x83e2488
97/12/28 11:54:06| storeClientCopy2: 20/GET/http://henrik/hno/squid/historic/
97/12/28 11:54:06| storeClientCopy2: Waiting for more
xmalloc_count= 12/ 657486 accounted= 0/ 529585 mallinfo= 24 846756
xmalloc_count= 16/ 657502 accounted= 0/ 529585 mallinfo= 24 846780
97/12/28 11:54:06| storeLockObject: key '20/GET/http://henrik/hno/squid/historic/' count=2
xmalloc_count= 80/ 657582 accounted= 0/ 529585 mallinfo= 88 846868
xmalloc_count= 16/ 657598 accounted= 0/ 529585 mallinfo= 24 846892
97/12/28 11:54:06| storeUnlockObject: key '20/GET/http://henrik/hno/squid/historic/' count=1
xmalloc_count= 36/ 657634 accounted= 0/ 529585 mallinfo= 40 846932
97/12/28 11:54:06| storeLockObject: key '20/GET/http://henrik/hno/squid/historic/' count=2
xmalloc_count= 16/ 657650 accounted= 0/ 529585 mallinfo= 24 846956
xmalloc_count= 12/ 657662 accounted= 0/ 529585 mallinfo= 24 846980
xmalloc_count= 56/ 657718 accounted= 0/ 529585 mallinfo= 64 847044
xmalloc_count= 16/ 657734 accounted= 0/ 529585 mallinfo= 24 847068
xmalloc_count= 7/ 657741 accounted= 0/ 529585 mallinfo= 16 847084
xmalloc_count= 12/ 657753 accounted= 0/ 529585 mallinfo= 24 847108
xmalloc_count= 52/ 657805 accounted= 52/ 529637 mallinfo= 56 847164
xmalloc_count= 7/ 657812 accounted= 0/ 529637 mallinfo= 16 847180
xmalloc_count= 12/ 657824 accounted= 0/ 529637 mallinfo= 16 847196
xmalloc_count= 256/ 658080 accounted= 0/ 529637 mallinfo= 264 847460
xmalloc_count= 24/ 658104 accounted= 0/ 529637 mallinfo= 32 847492
xmalloc_count= -16/ 658088 accounted= 0/ 529637 mallinfo= 0 847492
xmalloc_count= -12/ 658076 accounted= 0/ 529637 mallinfo= -24 847468
xmalloc_count= -16/ 658060 accounted= 0/ 529637 mallinfo= -24 847444
xmalloc_count= -80/ 657980 accounted= 0/ 529637 mallinfo= -24 847420
xmalloc_count= -16/ 657964 accounted= 0/ 529637 mallinfo= -88 847332
xmalloc_count= -280/ 657684 accounted= 0/ 529637 mallinfo= -24 847308
xmalloc_count= -256/ 657428 accounted= 0/ 529637 mallinfo= -288 847020
xmalloc_count= -24/ 657404 accounted= 0/ 529637 mallinfo= -264 846756
xmalloc_count= 77/ 657481 accounted= 0/ 529637 mallinfo= 56 846812
xmalloc_count= 4/ 657485 accounted= 0/ 529637 mallinfo= 24 846836
xmalloc_count= 1/ 657486 accounted= 0/ 529637 mallinfo= 24 846860
xmalloc_count= -77/ 657409 accounted= 0/ 529637 mallinfo= 0 846860
xmalloc_count= -12/ 657397 accounted= 0/ 529637 mallinfo= -88 846772
xmalloc_count= -12/ 657385 accounted= 0/ 529637 mallinfo= -16 846756
xmalloc_count= -7/ 657378 accounted= 0/ 529637 mallinfo= -24 846732
xmalloc_count= -16/ 657362 accounted= 0/ 529637 mallinfo= -16 846716
xmalloc_count= -56/ 657306 accounted= 0/ 529637 mallinfo= -24 846692
xmalloc_count= 4096/ 661402 accounted= 0/ 529637 mallinfo= 4040 850732
xmalloc_count= 4096/ 665498 accounted= 4096/ 533733 mallinfo= 4104 854836
xmalloc_count= 24/ 665522 accounted= 4096/ 537829 mallinfo= 32 854868
xmalloc_count= -24/ 665498 accounted= 0/ 537829 mallinfo= 0 854868
97/12/28 11:54:06| storeKeyPublic: GET http://henrik/hno/squid/historic/
xmalloc_count= -41/ 665457 accounted= -40/ 537789 mallinfo= -32 854836
97/12/28 11:54:06| storeHashInsert: Inserting Entry 0x8388b30 key 'GET/http://henrik/hno/squid/historic/'
xmalloc_count= 38/ 665495 accounted= 37/ 537826 mallinfo= 0 854836
xmalloc_count= 12/ 665507 accounted= 0/ 537826 mallinfo= 24 854860
97/12/28 11:54:06| InvokeHandlers: GET/http://henrik/hno/squid/historic/
97/12/28 11:54:06| InvokeHandlers: checking client #0
97/12/28 11:54:06| storeClientCopy2: GET/http://henrik/hno/squid/historic/
97/12/28 11:54:06| storeClientCopy2: Copying from memory
97/12/28 11:54:06| clientSendMoreData: FD 14 'http://henrik/hno/squid/historic/', out.offset=0
97/12/28 11:54:06| clientBuildReplyHeader: HTTP/1.0 200 OK
97/12/28 11:54:06| clientBuildReplyHeader: Date: Sun, 28 Dec 1997 10:54:06 GMT
97/12/28 11:54:06| clientBuildReplyHeader: Server: Apache/1.1.3
97/12/28 11:54:06| clientBuildReplyHeader: Content-type: text/html
97/12/28 11:54:06| clientBuildReplyHeader: Content-length: 13658
97/12/28 11:54:06| clientBuildReplyHeader: Last-modified: Mon, 24 Nov 1997 22:47:52 GMT
97/12/28 11:54:06| clientBuildReplyHeader: Connection: Keep-Alive
97/12/28 11:54:06| clientBuildReplyHeader: Keep-Alive: timeout=15, max=5
97/12/28 11:54:06| clientBuildReplyHeader: OUTPUT:
HTTP/1.0 200 OK
Date: Sun, 28 Dec 1997 10:54:06 GMT
Server: Apache/1.1.3
Content-type: text/html
Content-length: 13658
Last-modified: Mon, 24 Nov 1997 22:47:52 GMT
X-Cache: MISS
Proxy-Connection: Keep-Alive

97/12/28 11:54:06| clientSendMoreData: Appending 0 bytes after headers
xmalloc_count= 24/ 665531 accounted= 0/ 537826 mallinfo= 32 854892
97/12/28 11:54:06| storeCheckSwapOut: http://henrik/hno/squid/historic/
97/12/28 11:54:06| storeCheckSwapOut: store_status = STORE_PENDING
97/12/28 11:54:06| storeCheckSwapOut: mem->inmem_lo = 0
97/12/28 11:54:06| storeCheckSwapOut: mem->inmem_hi = 227
97/12/28 11:54:06| storeCheckSwapOut: swapout.queue_offset = 0
97/12/28 11:54:06| storeCheckSwapOut: swapout.done_offset = 0
97/12/28 11:54:06| storeCheckSwapOut: lowest_offset = 0
97/12/28 11:54:06| storeCheckSwapOut: swapout_size = 227
97/12/28 11:54:06| clientWriteComplete: FD 14, sz 217, err 0, off 227, len 0
97/12/28 11:54:06| storeClientCopy: GET/http://henrik/hno/squid/historic/, seen 227, want 227, size 4096, cb 0x8053490, cbdata 0x83e2488
97/12/28 11:54:06| storeClientCopy2: GET/http://henrik/hno/squid/historic/
97/12/28 11:54:06| storeClientCopy2: Waiting for more
xmalloc_count= -24/ 665507 accounted= 0/ 537826 mallinfo= 0 854892
xmalloc_count= 12/ 665519 accounted= 0/ 537826 mallinfo= -8 854884
xmalloc_count= 12/ 665531 accounted= 0/ 537826 mallinfo= 24 854908
97/12/28 11:54:06| InvokeHandlers: GET/http://henrik/hno/squid/historic/
97/12/28 11:54:06| InvokeHandlers: checking client #0
97/12/28 11:54:06| storeClientCopy2: GET/http://henrik/hno/squid/historic/
97/12/28 11:54:06| storeClientCopy2: Copying from memory
97/12/28 11:54:06| clientSendMoreData: FD 14 'http://henrik/hno/squid/historic/', out.offset=227
xmalloc_count= 24/ 665555 accounted= 0/ 537826 mallinfo= 32 854940
97/12/28 11:54:06| storeCheckSwapOut: http://henrik/hno/squid/historic/
97/12/28 11:54:06| storeCheckSwapOut: store_status = STORE_PENDING
97/12/28 11:54:06| storeCheckSwapOut: mem->inmem_lo = 0
97/12/28 11:54:06| storeCheckSwapOut: mem->inmem_hi = 10859
97/12/28 11:54:06| storeCheckSwapOut: swapout.queue_offset = 0
97/12/28 11:54:06| storeCheckSwapOut: swapout.done_offset = 0
97/12/28 11:54:06| storeCheckSwapOut: lowest_offset = 227
97/12/28 11:54:06| storeCheckSwapOut: swapout_size = 10859
97/12/28 11:54:06| storeLockObject: key 'GET/http://henrik/hno/squid/historic/' count=3
xmalloc_count= 12/ 665567 accounted= 0/ 537826 mallinfo= 24 854964
xmalloc_count= 40/ 665607 accounted= 0/ 537826 mallinfo= 48 855012
xmalloc_count= 12/ 665619 accounted= 0/ 537826 mallinfo= 16 855028
xmalloc_count= 40/ 665659 accounted= 0/ 537826 mallinfo= 48 855076
xmalloc_count= -12/ 665647 accounted= 0/ 537826 mallinfo= 0 855076
xmalloc_count= -40/ 665607 accounted= 0/ 537826 mallinfo= -24 855052
97/12/28 11:54:06| storeCheckSwapOut: http://henrik/hno/squid/historic/
97/12/28 11:54:06| storeCheckSwapOut: store_status = STORE_PENDING
97/12/28 11:54:06| storeCheckSwapOut: mem->inmem_lo = 0
97/12/28 11:54:06| storeCheckSwapOut: mem->inmem_hi = 10859
97/12/28 11:54:06| storeCheckSwapOut: swapout.queue_offset = 0
97/12/28 11:54:06| storeCheckSwapOut: swapout.done_offset = 0
97/12/28 11:54:06| storeCheckSwapOut: lowest_offset = 227
97/12/28 11:54:06| storeCheckSwapOut: swapout_size = 10859
97/12/28 11:54:06| storeCheckSwapOut: swap_buf_len = 8192
97/12/28 11:54:06| storeCheckSwapOut: swapping out 8192 bytes from 0
xmalloc_count= 20/ 665627 accounted= 0/ 537826 mallinfo= -24 855028
xmalloc_count= -40/ 665587 accounted= 0/ 537826 mallinfo= 0 855028
xmalloc_count= -12/ 665575 accounted= 0/ 537826 mallinfo= -48 854980
97/12/28 11:54:06| clientWriteComplete: FD 14, sz 4096, err 0, off 4323, len 0
97/12/28 11:54:06| storeClientCopy: GET/http://henrik/hno/squid/historic/, seen 4323, want 4323, size 4096, cb 0x8053490, cbdata 0x83e2488
97/12/28 11:54:06| storeClientCopy2: GET/http://henrik/hno/squid/historic/
97/12/28 11:54:06| storeClientCopy2: Copying from memory
97/12/28 11:54:06| clientSendMoreData: FD 14 'http://henrik/hno/squid/historic/', out.offset=4323
xmalloc_count= 24/ 665599 accounted= 0/ 537826 mallinfo= 16 854996
xmalloc_count= -24/ 665575 accounted= 0/ 537826 mallinfo= 0 854996
xmalloc_count= 8/ 665583 accounted= 0/ 537826 mallinfo= -16 854980
xmalloc_count= -8/ 665575 accounted= 0/ 537826 mallinfo= 0 854980
xmalloc_count= -20/ 665555 accounted= 0/ 537826 mallinfo= -16 854964
97/12/28 11:54:06| storeSwapOutHandle: 'GET/http://henrik/hno/squid/historic/', len=8192
97/12/28 11:54:06| storeCheckSwapOut: http://henrik/hno/squid/historic/
97/12/28 11:54:06| storeCheckSwapOut: store_status = STORE_PENDING
97/12/28 11:54:06| storeCheckSwapOut: mem->inmem_lo = 0
97/12/28 11:54:06| storeCheckSwapOut: mem->inmem_hi = 10859
97/12/28 11:54:06| storeCheckSwapOut: swapout.queue_offset = 8192
97/12/28 11:54:06| storeCheckSwapOut: swapout.done_offset = 8192
97/12/28 11:54:06| storeCheckSwapOut: lowest_offset = 4323
xmalloc_count= -12/ 665543 accounted= 0/ 537826 mallinfo= -24 854940
97/12/28 11:54:06| storeCheckSwapOut: swapout_size = 2667
97/12/28 11:54:07| clientWriteComplete: FD 14, sz 4096, err 0, off 8419, len 0
97/12/28 11:54:07| storeClientCopy: GET/http://henrik/hno/squid/historic/, seen 8419, want 8419, size 4096, cb 0x8053490, cbdata 0x83e2488
97/12/28 11:54:07| storeClientCopy2: GET/http://henrik/hno/squid/historic/
97/12/28 11:54:07| storeClientCopy2: Copying from memory
97/12/28 11:54:07| clientSendMoreData: FD 14 'http://henrik/hno/squid/historic/', out.offset=8419
xmalloc_count= 24/ 665567 accounted= 0/ 537826 mallinfo= 8 854948
xmalloc_count= -24/ 665543 accounted= 0/ 537826 mallinfo= 0 854948
xmalloc_count= 12/ 665555 accounted= 0/ 537826 mallinfo= -8 854940
97/12/28 11:54:07| InvokeHandlers: GET/http://henrik/hno/squid/historic/
97/12/28 11:54:07| InvokeHandlers: checking client #0
97/12/28 11:54:07| storeCheckSwapOut: http://henrik/hno/squid/historic/
97/12/28 11:54:07| storeCheckSwapOut: store_status = STORE_PENDING
97/12/28 11:54:07| storeCheckSwapOut: mem->inmem_lo = 4323
97/12/28 11:54:07| storeCheckSwapOut: mem->inmem_hi = 13885
97/12/28 11:54:07| storeCheckSwapOut: swapout.queue_offset = 8192
97/12/28 11:54:07| storeCheckSwapOut: swapout.done_offset = 8192
97/12/28 11:54:07| storeCheckSwapOut: lowest_offset = 8419
xmalloc_count= -12/ 665543 accounted= 0/ 537826 mallinfo= 0 854940
97/12/28 11:54:07| storeCheckSwapOut: swapout_size = 5693
xmalloc_count= -12/ 665531 accounted= 0/ 537826 mallinfo= -24 854916
97/12/28 11:54:07| storeComplete: 'GET/http://henrik/hno/squid/historic/'
97/12/28 11:54:07| storeEntryValidLength: Checking 'GET/http://henrik/hno/squid/historic/'
97/12/28 11:54:07| InvokeHandlers: GET/http://henrik/hno/squid/historic/
97/12/28 11:54:07| InvokeHandlers: checking client #0
97/12/28 11:54:07| storeCheckSwapOut: http://henrik/hno/squid/historic/
97/12/28 11:54:07| storeCheckSwapOut: store_status = STORE_OK
97/12/28 11:54:07| storeCheckSwapOut: mem->inmem_lo = 8192
97/12/28 11:54:07| storeCheckSwapOut: mem->inmem_hi = 13885
97/12/28 11:54:07| storeCheckSwapOut: swapout.queue_offset = 8192
97/12/28 11:54:07| storeCheckSwapOut: swapout.done_offset = 8192
97/12/28 11:54:07| storeCheckSwapOut: lowest_offset = 8419
97/12/28 11:54:07| storeCheckSwapOut: swapout_size = 5693
97/12/28 11:54:07| storeCheckSwapOut: swap_buf_len = 5693
97/12/28 11:54:07| storeCheckSwapOut: swapping out 5693 bytes from 8192
xmalloc_count= 20/ 665551 accounted= 0/ 537826 mallinfo= 0 854916
xmalloc_count= 52/ 665603 accounted= 0/ 537826 mallinfo= 64 854980
xmalloc_count= 10/ 665613 accounted= 0/ 537826 mallinfo= 24 855004
97/12/28 11:54:07| storeUnlockObject: key 'GET/http://henrik/hno/squid/historic/' count=2
xmalloc_count= -16/ 665597 accounted= 0/ 537826 mallinfo= 0 855004
xmalloc_count= -36/ 665561 accounted= 0/ 537826 mallinfo= -24 854980
97/12/28 11:54:07| clientWriteComplete: FD 14, sz 2440, err 0, off 10859, len 13885
97/12/28 11:54:07| storeClientCopy: GET/http://henrik/hno/squid/historic/, seen 10859, want 10859, size 4096, cb 0x8053490, cbdata 0x83e2488
97/12/28 11:54:07| storeClientCopy2: GET/http://henrik/hno/squid/historic/
97/12/28 11:54:07| storeClientCopy2: Copying from memory
97/12/28 11:54:07| clientSendMoreData: FD 14 'http://henrik/hno/squid/historic/', out.offset=10859
xmalloc_count= 24/ 665585 accounted= 0/ 537826 mallinfo= 32 854972
xmalloc_count= -24/ 665561 accounted= 0/ 537826 mallinfo= 0 854972
xmalloc_count= 8/ 665569 accounted= 0/ 537826 mallinfo= -8 854964
xmalloc_count= -8/ 665561 accounted= 0/ 537826 mallinfo= 0 854964
xmalloc_count= -20/ 665541 accounted= 0/ 537826 mallinfo= -24 854940
97/12/28 11:54:07| storeSwapOutHandle: 'GET/http://henrik/hno/squid/historic/', len=5693
97/12/28 11:54:07| storeEntryValidLength: Checking 'GET/http://henrik/hno/squid/historic/'
xmalloc_count= 127/ 665668 accounted= 0/ 537826 mallinfo= 112 855052
xmalloc_count= 20/ 665688 accounted= 0/ 537826 mallinfo= 24 855076
xmalloc_count= 110/ 665798 accounted= 0/ 537826 mallinfo= 120 855196
xmalloc_count= 20/ 665818 accounted= 0/ 537826 mallinfo= 24 855220
97/12/28 11:54:07| storeUnlockObject: key 'GET/http://henrik/hno/squid/historic/' count=1
xmalloc_count= 8/ 665826 accounted= 0/ 537826 mallinfo= 24 855244
xmalloc_count= -8/ 665818 accounted= 0/ 537826 mallinfo= 0 855244
xmalloc_count= -127/ 665691 accounted= 0/ 537826 mallinfo= -24 855220
xmalloc_count= -20/ 665671 accounted= 0/ 537826 mallinfo= -136 855084
xmalloc_count= 8/ 665679 accounted= 0/ 537826 mallinfo= 0 855084
xmalloc_count= -8/ 665671 accounted= 0/ 537826 mallinfo= 0 855084
xmalloc_count= -110/ 665561 accounted= 0/ 537826 mallinfo= -24 855060
xmalloc_count= -20/ 665541 accounted= 0/ 537826 mallinfo= -120 854940
97/12/28 11:54:07| clientWriteComplete: FD 14, sz 3026, err 0, off 13885, len 13885
97/12/28 11:54:07| clientWriteComplete: FD 14 transfer is DONE
97/12/28 11:54:07| clientWriteComplete: FD 14 Keeping Alive
97/12/28 11:54:07| httpRequestFree: http://henrik/hno/squid/historic/
xmalloc_count= 115/ 665656 accounted= 0/ 537826 mallinfo= 96 855036
xmalloc_count= 20/ 665676 accounted= 0/ 537826 mallinfo= 24 855060
xmalloc_count= 172/ 665848 accounted= 0/ 537826 mallinfo= 176 855236
xmalloc_count= 10/ 665858 accounted= 0/ 537826 mallinfo= 24 855260
xmalloc_count= -38/ 665820 accounted= 172/ 537998 mallinfo= 0 855260
xmalloc_count= -34/ 665786 accounted= 0/ 537998 mallinfo= -48 855212
97/12/28 11:54:07| storeUnregister: called for 'GET/http://henrik/hno/squid/historic/'
xmalloc_count= -16/ 665770 accounted= 0/ 537998 mallinfo= -40 855172
xmalloc_count= -40/ 665730 accounted= 0/ 537998 mallinfo= -24 855148
97/12/28 11:54:07| storeUnlockObject: key 'GET/http://henrik/hno/squid/historic/' count=0
97/12/28 11:54:07| storePurgeMem: Freeing memory-copy of GET/http://henrik/hno/squid/historic/
97/12/28 11:54:07| destroy_MemObject: destroying 0x8362340
97/12/28 11:54:07| destroy_MemObjectData: destroying 0x8355f18, 13885 bytes
xmalloc_count= -12/ 665718 accounted= 0/ 537998 mallinfo= -48 855100
xmalloc_count= -12/ 665706 accounted= 0/ 537998 mallinfo= -24 855076
xmalloc_count= -12/ 665694 accounted= 0/ 537998 mallinfo= -24 855052
xmalloc_count= -680/ 665014 accounted= -33/ 537965 mallinfo= -24 855028
xmalloc_count= -34/ 664980 accounted= 0/ 537965 mallinfo= -688 854340
xmalloc_count= -34/ 664946 accounted= 0/ 537965 mallinfo= -40 854300
xmalloc_count= -206/ 664740 accounted= -680/ 537285 mallinfo= -48 854252
97/12/28 11:54:07| clientWriteComplete: FD 14 Setting read handler for next request

--------------1E101691331D896C4DC28273--
Received on Tue Jul 29 2003 - 13:15:45 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:11:32 MST