Under Centos 5.5 on an x86_64 box I am seeing large memory usage associated with perl .so modules.
Example: this script:
#!/usr/bin/perl use Time::HiRes;
open(SMAPS, "/proc/$$/smaps"); while (<SMAPS>) { if (m/^\d/) { chomp($lib = (split(' ', $_))[5]); } elsif (m/^Size:\s*(\d+.*)/) { my $size = $1; print "$size $lib\n" if ($lib =~ m/HiRes/); } }
produces this output:
24 kB /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/auto/Time/HiRes/HiRes.so 2044 kB /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/auto/Time/HiRes/HiRes.so 4 kB /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/auto/Time/HiRes/HiRes.so
What is this 2044 kB entry? On a 32-bit Centos 5.4 box the same script emits:
20 kB /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Time/HiRes/HiRes.so 4 kB /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Time/HiRes/HiRes.so
The 2044 kB entry seems to be counted towards memory usage as reported by ps.
Thanks!