Ticket #54 (closed defect: fixed)
Memory usage much higher than 1.0.x, can lead to swapping a machine to death
| Reported by: | Jarod Wilson <jwilson@…> | Owned by: | oetiker |
|---|---|---|---|
| Priority: | critical | Milestone: | |
| Component: | rrd_graph | Version: | 1.2.15 |
| Keywords: | Cc: | it@…, tester@…, jbreault@…, harlan@… |
Description
Reported by Andrej Todosic (it@…) in Red Hat's bugzilla: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=201241
Description of problem: When making many graphs, rrdtool eventually stops writing graphs and starts sucking up memory, until all RAM and swap is consumed and the entire machine gets wedged
Version-Release number of selected component (if applicable): rrdtool-1.2.15-3.fc4
How reproducible: Either using the 'larrd' add-on for BigBrother?, or the munin-graph part of munin.
Steps to Reproduce: 1. 'munin-graph --cron' Actual results: Machine runs out of RAM and swap. Kernel fault, requires reboot. Furthermore, the graphs that are drawn are visually very different (anti-aliased?) from previous versions of rrdtool.
Expected results: larrd and munin graph .jpg files created, as they were earlier today.
Additional info: BigBrother? was made from a tarball. It calls rrdtool from bash scripts. munin is munin-1.2.4-9.fc4, which may call librrd.so from Perl modules.
From the strace:
open("/var/lib/munin/touchtunes.com/kampfgruppe.touchtunes.com-tt_toparse-gen3-g.rrd",
O_RDONLY) = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=50604, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7f76000
read(5, "RRD\0000001\0\0\0\0/%\300\307C+\37[\1\0\0\0\f\0\0\0,\1"..., 4096) = 4096
_llseek(5, 0, [4096], SEEK_CUR) = 0
_llseek(5, 36864, [36864], SEEK_SET) = 0
read(5, "\0\0\370\377\0\0\0\0\0\0\370\377\0\0\0\0\0\0\370\377\0"..., 4096) = 4096
_llseek(5, 32768, [32768], SEEK_SET) = 0
read(5, "\0\0\370\377\0\0\0\0\0\0\370\377\0\0\0\0\0\0\370\377\0"..., 4096) = 4096
close(5) = 0
munmap(0xb7f76000, 4096) = 0
time(NULL) = 1154630928
open("/usr/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf", O_RDONLY) = 5
fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
fstat64(5, {st_mode=S_IFREG|0644, st_size=60444, ...}) = 0
mmap2(NULL, 60444, PROT_READ, MAP_PRIVATE, 5, 0) = 0xb7d36000
close(5) = 0
munmap(0xb7d36000, 60444) = 0
[above six lines repeated 57 times.]
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1252, ...}) = 0
[above line repeated 60 times]
brk(0xa17c000) = 0xa17c000
brk(0xa19d000) = 0xa19d000
brk(0xa1be000) = 0xa1be000
brk(0xa1df000) = 0xa1df000
brk(0xa200000) = 0xa200000
brk(0xa221000) = 0xa221000
brk(0xa242000) = 0xa242000
brk(0xa263000) = 0xa263000
brk(0xa284000) = 0xa284000
brk(0xa2a5000) = 0xa2a5000
[... etc, repeat until entire machine dies]

/logos/gw200x100.gif)

