[CentOS] Perl - strict.pm not found

Warren Young warren at etr-usa.com
Wed Oct 10 07:44:33 EDT 2012


On 10/10/2012 4:38 AM, John Horne wrote:
>
> The problem is that 'strict.pm' is located in /usr/share/perl5 (as it is
> on our other servers), and /usr/share/perl5 is specified in @INC.

Perl can do this is when you've run it out of file handles, then someone 
tries to load a not-previously-loaded Perl module.  The Perl interpreter 
needs one more file handle to open the new module, but it can't get 
another from the kernel, so it gives that message.

Generally this results from a bug in the code, typically one involving 
an over-reliance on Perl's garbage collector.  Perl will close opened 
file handles for you eventually, but not as long as it thinks they're 
still being used.  If you have a long-running script, you need to be 
careful about this if it also opens a lot of files, since the default FD 
limit per process is 1024 on Linux.

You can monitor FD usage in a program with

	ls /proc/`pidof my-program`/fd | wc -l

I don't know if you want to put "xymon_event" in for "my-program" or 
something higher up, since I don't know anything about that or ClamAV.

Regardless, if you see that number climb continuously, then see the 
problem happen shortly after the number crests 1000, you've confirmed my 
guess.


More information about the CentOS mailing list