[RADIATOR] Memory leak with Radiator?

Heikki Vatiainen hvn at open.com.au
Fri Sep 30 05:44:09 CDT 2011


On 09/30/2011 10:35 AM, Elias wrote:

Hello Elias,

> We're running RADIATOR with Farms and have noticed that the RADIATOR
> processes eat up huge chunks of memory. Has anybody else experienced this? 

Memory leaks are very rare but certainly possible. Can you reply with
your configuration (no secrets or passwords needed).

The growing heap size hints this is a problem with dynamically allocated
memory. Seeing the configuration, the possible hooks and learning more
about what kind of traffic Radiator handles, would help diagnosing the
problem.

The pmap output also indicates you are using DBD::Oracle. You may want to

check http://search.cpan.org/~pythian/DBD-Oracle-1.30/

and see if the memory leaks listed in the change log are relevant to
your configuration.

Thanks!
Heikki


> last pid: 27248;  load avg:  3.88,  3.97,  3.98;       up
> 196+02:04:57                                                                             
> 15:09:23
> 51 processes: 45 sleeping, 1 zombie, 5 on cpu
> CPU states: 73.9% idle, 24.1% user,  2.0% kernel,  0.0% iowait,  0.0% swap
> Memory: 8184M phys mem, 128M free mem, 10G swap, 4851M free swap
> 
>    PID USERNAME LWP PRI NICE  SIZE   RES STATE    TIME    CPU COMMAND
>  16445 root       1  10    0 2410M *1393M* sleep  308.1H 84.69% radiusd
>  16447 root       1  10    0 2410M *1281M* cpu    307.4H 81.52% radiusd
>  16443 root       1  10    0 2414M *1312M* cpu    308.4H 80.92% radiusd
>  16446 root       1  10    0 2398M *1236M* cpu    306.9H 79.59% radiusd
>  16444 root       1  10    0 2394M *1305M* cpu    306.7H 75.31% radiusd
> 
> The RADIUS services do not crash or anything, but its just that our low
> memory alert keeps on appearing every week or so. Restarting the
> RADIATOR daemon gets memory released again.
> 
> 
> 
> 
> root at radauth01 # pmap 16444
> 16444:  /usr/bin/perl /opt/radiator/radiusd -config_file
> /usr/local/etc/radius
> 00010000     960K r-x--  /usr/local/bin/perl
> 0010E000      48K rwx--  /usr/local/bin/perl
> 0011A000      24K rwx--    [ heap ]
> 00120000    2944K rwx--    [ heap ]
> *00400000 2428928K rwx--    [ heap ]*
> FDA00000    1728K r-x--  /opt/oracle/lib32/libnnz10.so
> FDBB0000      56K r-x--  /opt/oracle/lib32/libnnz10.so
> FDBCC000      16K rwx--  /opt/oracle/lib32/libnnz10.so
> FDBD0000     128K rwx--  dev:32,13 ino:1539
> FDBF0000       8K rwx--  /opt/oracle/lib32/libnnz10.so
> FDC00000   12288K r-x--  /opt/oracle/lib32/libclntsh.so.10.1
> FE800000    2752K r-x--  dev:32,13 ino:1627
> FEAB0000      56K r-x--  /opt/oracle/lib32/libclntsh.so.10.1
> FEACC000      16K rwx--  /opt/oracle/lib32/libclntsh.so.10.1
> FEAD0000     448K rwx--  dev:32,13 ino:1627
> FEB40000      16K rwx--  dev:32,13 ino:1627
> FEB44000      56K rwx--  /opt/oracle/lib32/libclntsh.so.10.1
> FEBF0000       8K rwx--    [ anon ]
> FEC00000      40K r-x--  /usr/local/lib/libgcc_s.so.1
> FEC18000       8K rwx--  /usr/local/lib/libgcc_s.so.1
> FEC20000      48K r-x--  /usr/lib/libz.so.1
> FEC3A000      16K rwx--  /usr/lib/libz.so.1
> FEC50000     192K r-x--  /usr/local/lib/mysql/libmysqlclient.so.14.0.0
> FEC80000      32K r-x--  /usr/local/lib/mysql/libmysqlclient.so.14.0.0
> FEC96000      40K rwx--  /usr/local/lib/mysql/libmysqlclient.so.14.0.0
> FECA0000      64K rwx--  dev:32,11 ino:152615
> FECB0000      56K rwx--  /usr/local/lib/mysql/libmysqlclient.so.14.0.0
> FECD0000      64K r-x-- 
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/DBD/mysql/mysql.so
> FECE0000      32K r-x-- 
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/DBD/mysql/mysql.so
> FECF6000      24K rwx-- 
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/DBD/mysql/mysql.so
> FED10000     376K r---R  dev:32,13 ino:1490
> FED80000       8K r-x--  /lib/libmd5.so.1
> FED92000       8K rwx--  /lib/libmd5.so.1
> FEDA0000       8K rwx--    [ anon ]
> FEDB0000      24K r-x--  /lib/librt.so.1
> FEDC6000       8K rwx--  /lib/librt.so.1
> FEDD0000      32K r-x--  /lib/libaio.so.1
> FEDE0000      16K r-x--  /lib/libpthread.so.1
> FEDE8000       8K rwx--  /lib/libaio.so.1
> FEDF8000      16K r-x--  /lib/libthread.so.1
> FEE00000      24K r-x--  /lib/libgen.so.1
> FEE16000       8K rwx--  /lib/libgen.so.1
> FEE20000       8K r-x--  /lib/libkstat.so.1
> FEE32000       8K rwx--  /lib/libkstat.so.1
> FEE40000     128K r-x-- 
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/DBD/Oracle/Oracle.so
> FEE60000      16K r-x-- 
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/DBD/Oracle/Oracle.so
> FEE72000       8K rwx-- 
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/DBD/Oracle/Oracle.so
> FEE80000      24K r-x-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/List/Util/Util.so
> FEE94000       8K rwx-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/List/Util/Util.so
> FEEA0000      64K r-x-- 
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/DBI/DBI.so
> FEEB0000      48K r-x-- 
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/DBI/DBI.so
> FEECA000      16K rwx-- 
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/DBI/DBI.so
> FEEE0000      24K r-x--  /lib/nss_files.so.1
> FEEF6000       8K rwx--  /lib/nss_files.so.1
> FEF00000       8K r-x--  /usr/lib/libsched.so.1
> FEF10000      64K rwx--    [ anon ]
> FEF30000      16K r-x-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/IO/IO.so
> FEF42000       8K rwx-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/IO/IO.so
> FEF50000       8K rwx--    [ anon ]
> FEF60000      24K r-x-- 
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/Socket6/Socket6.so
> FEF74000       8K rwx-- 
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/Socket6/Socket6.so
> FEF80000       8K rwx--    [ anon ]
> FEF90000       8K r-x-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/Sys/Hostname/Hostname.so
> FEFA0000       8K rwx-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/Sys/Hostname/Hostname.so
> FEFB0000      16K r-x-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/Fcntl/Fcntl.so
> FEFC2000       8K rwx-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/Fcntl/Fcntl.so
> FEFD0000      16K r-x-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/File/Glob/Glob.so
> FEFE2000       8K rwx-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/File/Glob/Glob.so
> FEFF0000      16K r-x-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/Time/HiRes/HiRes.so
> FF002000       8K rwx-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/Time/HiRes/HiRes.so
> FF010000      64K r-x-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/POSIX/POSIX.so
> FF020000      56K r-x-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/POSIX/POSIX.so
> FF03C000       8K rwx-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/POSIX/POSIX.so
> FF050000       8K rwx--    [ anon ]
> FF060000      24K r-x-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/Socket/Socket.so
> FF074000       8K rwx-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/Socket/Socket.so
> FF080000     832K r-x--  /lib/libc.so.1
> FF150000      32K r-x--  /lib/libc.so.1
> FF168000      32K rwx--  /lib/libc.so.1
> FF170000       8K rwx--  /lib/libc.so.1
> FF180000     640K r-x--  /lib/libm.so.2
> FF220000      40K r-x--  /lib/libm.so.2
> FF238000      32K rwx--  /lib/libm.so.2
> FF250000      16K r-x-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/Digest/MD5/MD5.so
> FF262000       8K rwx-- 
> /usr/local/lib/perl5/5.8.7/sun4-solaris/auto/Digest/MD5/MD5.so
> FF270000       8K rwxs-    [ anon ]
> FF280000     576K r-x--  /lib/libnsl.so.1
> FF310000       8K r-x--  /lib/libnsl.so.1
> FF322000      40K rwx--  /lib/libnsl.so.1
> FF32C000      24K rwx--  /lib/libnsl.so.1
> FF340000       8K r-x--  /platform/sun4v/lib/libc_psr.so.1
> FF350000      24K rwx--    [ anon ]
> FF360000       8K rwx--    [ anon ]
> FF370000      48K r-x--  /lib/libsocket.so.1
> FF38C000       8K rwx--  /lib/libsocket.so.1
> FF3A0000       8K r-x--  /lib/libdl.so.1
> FF3B0000     128K r-x--  /lib/ld.so.1
> FF3D0000      56K r-x--  /lib/ld.so.1
> FF3EE000       8K rwx--  /lib/ld.so.1
> FF3F0000       8K rwx--  /lib/ld.so.1
> FFBF0000      64K rwx--    [ stack ]
>  total   2455056K
> 
> 
> ------ versions -----------
> 
> root at radauth01 # radiusd -v
> 
> This is Radiator 4.8 on radauth01
> Copyright Open System Consultants
> http://www.open.com.au/radiator
> 
> 
> root at radauth01 # perl -V
> Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
>   Platform:
>     osname=solaris, osvers=2.10, archname=sun4-solaris
>     uname='sunos 5.10 s10_60 sun4u sparc sunw,ultra-5_10 '
>     config_args='-Dcc=gcc -B/usr/ccs/bin/'
>     hint=recommended, useposix=true, d_sigaction=define
>     usethreads=undef use5005threads=undef useithreads=undef
> usemultiplicity=undef
>     useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
>     use64bitint=undef use64bitall=undef uselongdouble=undef
>     usemymalloc=n, bincompat5005=undef
>   Compiler:
>     cc='gcc -B/usr/ccs/bin/', ccflags ='-fno-strict-aliasing -pipe
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>     optimize='-O',
>     cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
>     ccversion='', gccversion='2.95.3 20010315 (release)',
> gccosandvers='solaris2.10'
>     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
>     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
>     ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
>     alignbytes=8, prototype=define
>   Linker and Libraries:
>     ld='gcc -B/usr/ccs/bin/', ldflags =' -L/usr/local/lib '
>     libpth=/usr/local/lib /usr/lib /usr/ccs/lib
>     libs=-lsocket -lnsl -ldl -lm -lc
>     perllibs=-lsocket -lnsl -ldl -lm -lc
>     libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
>     gnulibc_version=''
>   Dynamic Linking:
>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
>     cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib'
> 
> 
> Characteristics of this binary (from libperl):
>   Compile-time options: USE_LARGE_FILES
>   Built under solaris
>   Compiled at Dec  5 2005 01:53:11
>   @INC:
>     /usr/local/lib/perl5/5.8.7/sun4-solaris
>     /usr/local/lib/perl5/5.8.7
>     /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris
>     /usr/local/lib/perl5/site_perl/5.8.7
>     /usr/local/lib/perl5/site_perl
>     .
> 
> 
> 
> 
> 
> _______________________________________________
> radiator mailing list
> radiator at open.com.au
> http://www.open.com.au/mailman/listinfo/radiator


-- 
Heikki Vatiainen <hvn at open.com.au>

Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS,
NetWare etc.


More information about the radiator mailing list