Re: Kannel memory leak?
"Nikos Balkanas" <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.user,gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <000301c95517$2b31c2e0$02b2a8c0@tardis> |
Nope. Regular ufs. In any case bearerbox's memory was increasing and accounting for all missing RAM, not some kind of cache. As I mentioned after consuming all available physical RAM bearerbox started eating up the swap as well. This is not the way of file caches :-). BR, Nikos ----- Original Message ----- From: "Falko Ziemann" <[email protected]> To: "Nikos Balkanas" <[email protected]> Cc: <[email protected]>; <[email protected]> Sent: Wednesday, December 03, 2008 8:51 AM Subject: Re: Kannel memory leak? > Sounds very much like the Solaris 10 "ARC-Effect". Are you using ZFS > Filesystem? > > Regards > Falko > > Nikos Balkanas schrieb: >> Hi, >> >> During my PPG benchmarks (through fake smsc) with 2 different clients, >> bearerbox excibited an increasing memory allocation profile starting >> from 9MB till 2.2GB at the end of the test run. Upon finishing the >> test and all queue cleared, memory wasn't released. Additionally by >> running the same test again, memory kept increasing until bearerbox >> reached 2.9 GB at which point it exhausted my server's RAM (4GB) and >> started using swap. At this point I interrupted tests worrying about >> my server. Again bearerbox didn't release resources. Had to kill it to >> reclaim RAM. >> >> Fortunately the problem is very reproducible. OS: Intel Solaris 10.5, >> 4GB RAM. Steps to reproduce: >> >> Clear logs, stores, etc. Start bearerbox, wapbox, smsbox in daemon >> mode (-d -P). Start fakemsmc in interactive mode. Fire test_ppg: >> >> test/test_ppg -v 5 -r 1000000 -t 1000 >> http://212.205.200.120:13007/feedme ~/etc/si.txt ~/etc/pap.txt >> >> Open top and watch bearerbox's size grow and grow... >> >> P.S. I have been working on a patch for smsc_fake.c, but these results >> are from the cvs version. >> >> Configuration file: >> >> group = core >> admin-port = 13001 >> wapbox-port = 13002 >> smsbox-port = 13003 >> admin-password = bar >> #status-password = foo >> #admin-deny-ip = "" >> #admin-allow-ip = "" >> wdp-interface-name = "*" >> log-file = "/tmp/bearerbox.log" >> log-level = 4 >> #box-deny-ip = "*.*.*.*" >> box-allow-ip = "*.*.*.*" >> access-log = "/tmp/access.log" >> #access-log-format = "%l [SMSC:%i] [SVC:%n] [ACT:%A] [BINF:%B] >> [from:%p] [to:%P] [flags:%m:%c:%M:%C:%d] [msg:%L:%I] [udh:%U:%u]" >> access-log-clean = true >> access-log-format = "%T %l [msg:%L:%I]" >> store-location = "/export/home/nbal/kannel.store" >> store-type = file >> dlr-storage = internal >> #ssl-server-cert-file = "cert.pem" >> #ssl-server-key-file = "key.pem" >> #ssl-certkey-file = "mycertandprivkeyfile.pem" >> >> group = wapbox >> bearerbox-host = 212.205.200.120 >> log-file = "/tmp/wapbox.log" >> log-level = 4 >> syslog-level = none >> #access-log = "/tmp/wapaccess.log" >> access-log = "/dev/null" >> >> # SMSC CONNECTIONS, for pushing SI, SL, MMS notifications or whatever >> over SMS >> >> group = smsc >> smsc = http >> smsc-id = HTTP >> allowed-smsc-id = "HTTP" >> port = 13004 >> system-type = kannel >> connect-allow-ip = "*.*.*.*" >> smsc-username = foo >> smsc-password = bar >> no-sender = true >> no-coding = true >> send-url = "http://www.kannel.gr:9200/pap.cgi" >> >> group = smsc >> smsc = fake >> smsc-id = FAKE >> denied-smsc-id = "HTTP" >> port = 13005 >> #dlr-url = >> "http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P >> <http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P>" >> dlr-url = "http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T" >> connect-allow-ip = "*.*.*.*" >> >> # SMSBOX SETUP (a kludge!) >> >> group = smsbox >> bearerbox-host = 212.205.200.120 >> sendsms-port = 13006 >> smsbox-id = dlrbox >> >> group = smsbox-route >> smsbox-id = dlrbox >> smsc-id = "FAKE;HTTP" >> >> group = sendsms-user >> username = simple >> password = elpmis >> default-smsc = FAKE >> #dlr-url = >> "http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P >> <http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P>" >> >> # SERVICES >> >> group = sms-service >> keyword = nop >> text = "You asked nothing and I did it!" >> >> # this service is for Kannel www testing >> >> group = sms-service >> keyword = www >> get-url = >> "http://localhost:15130/sms?user=kannel&pass=rL4y&from=%p&to=%P&text=%r >> <http://localhost:15130/sms?user=kannel&pass=rL4y&from=%p&to=%P&text=%r>" >> #max-messages = 0 >> >> # there should be default always >> >> group = sms-service >> keyword = default >> catch-all = true >> #max-messages = 10 >> text = "Thanx for using IAN test bed" >> >> # PPG CORE SETUP, for defining the push request interface >> >> group = ppg >> ppg-url = "http://212.205.200.120:13007/feedme" >> ppg-port = 13007 >> #ppg-ssl-port = 8081 >> default-smsc = FAKE >> concurrent-pushes = 1000 >> trusted-pi = true >> users = 1024 >> service-name = ppg >> ppg-smsbox-id = dlrbox >> #default-dlr-url = >> "http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P >> <http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P>" >> default-dlr-url = "http://www.kannel.gr:9200/dlr.html" >> #ppg-deny-ip = "*.*.*.*" >> ppg-allow-ip = "*.*.*.*" >> #ssl-server-cert-file = "cert.pem" >> #ssl-server-key-file = "key.pem" >> >> # PPG USER SETUP, for authorizing a specific push user >> >> group = wap-push-user >> wap-push-user = foo >> ppg-username = foo >> ppg-password = bar >> #dlr-url = >> "http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P >> <http://www.kannel.gr:9200/cgi/dlr.cgi?ts=%T&smsID=%I&smscID=%i&dlr=%d&answer=%A&from=%p&to=%P>" >> default-smsc = FAKE >> #country-prefix = +358 >> #allowed-prefix = "40;60;70" >> #denied-prefix = 50 >> #white-list = http://localhost:8082/whitelist >> #black-list = http://localhost:8082/blacklist >> #deny-ip = "*.*.*.*" >> #allow-ip = "127.0.0.1" >> >>