mirror of
https://github.com/apache/httpd.git
synced 2025-08-16 17:04:42 +00:00
improve dump_allocator, add dump_one_pool
- dump_one_pool dumps the size of a pool not including child pools - dump_allocator now dumps the size of the memnodes and not the last used free size. Also dump the total size. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1352909 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
24
.gdbinit
24
.gdbinit
@ -349,23 +349,45 @@ define dump_allocator
|
||||
printf "Allocator free list:\n"
|
||||
set $i = 0
|
||||
set $max =(sizeof $arg0->free)/(sizeof $arg0->free[0])
|
||||
set $kb = 0
|
||||
while $i < $max
|
||||
set $node = $arg0->free[$i]
|
||||
if $node != 0
|
||||
printf " #%2d: ", $i
|
||||
while $node != 0
|
||||
printf "%d, ", $node->endp - $node->first_avail
|
||||
printf "%d, ", 4096 << $node->index
|
||||
set $kb = $kb + (4 << $node->index)
|
||||
set $node = $node->next
|
||||
end
|
||||
printf "ends.\n"
|
||||
end
|
||||
set $i = $i + 1
|
||||
end
|
||||
printf "Sum of free blocks: %dkiB\n", $kb
|
||||
end
|
||||
document dump_allocator
|
||||
Print status of an allocator and its freelists.
|
||||
end
|
||||
|
||||
define dump_one_pool
|
||||
set $p = $arg0
|
||||
set $size = 0
|
||||
set $free = 0
|
||||
set $nodes = 0
|
||||
set $node = $arg0->active
|
||||
set $done = 0
|
||||
while $done == 0
|
||||
set $size = $size + (4096 << $node->index)
|
||||
set $free = $free + ($node->endp - $node->first_avail)
|
||||
set $nodes = $nodes + 1
|
||||
set $node = $node->next
|
||||
if $node == $arg0->active
|
||||
set $done = 1
|
||||
end
|
||||
end
|
||||
printf "Pool '%s' [%p]: %d/%d free (%d blocks)\n", $p->tag, $p, $free, $size, $nodes
|
||||
end
|
||||
|
||||
# Set sane defaults for common signals:
|
||||
handle SIGPIPE noprint pass nostop
|
||||
handle SIGUSR1 print pass nostop
|
||||
|
Reference in New Issue
Block a user