Re: running too much instances of perl in parallel
Ivana Varekova <[email protected]>
| Newsgroups | gmane.comp.log.logwatch.devel |
|---|---|
| Message-ID | <[email protected]> |
Mike Tremaine wrote: > Mike Tremaine wrote: >> Ivana Varekova wrote: >>> Hello, >>> I just get a bug-report - which complains about the multiple >>> instances of perl running at one time: >>> >>> "I noticed on F10 x86_64 machine that logwatch runs 10 perl >>> instances and moves my AMD CPU temp to 90 C. >>> >>> >>> I agree with the bug reporter. The number of perl instances >>> especially for /var/log/messages logfile is huge. So could the >>> number of perl calls be reduce? >>> I have two ideas what could be done: >>> 1/ add the possibility to call shared scripts with several >>> parameters (logwatch does not need to go through the log file >>> multiple times)and the number of perl script decrease. >>> 2/ shared perl scipt transfer to perl procedures - so there will be >>> no need to call another perl instance. >>> What is your opinion? Is any of these solutions acceptable for? Or >>> do you have any other idea how to solve this problem? >>> Thanks. >>> Ivana Varekova >>> _ >> >> This comes from these config lines is conf/shared/messages.conf >> >> messages.conf:*RemoveService = talkd >> messages.conf:*RemoveService = telnetd >> messages.conf:*RemoveService = inetd >> messages.conf:*RemoveService = nfsd >> messages.conf:*RemoveService = /sbin/mingetty >> messages.conf:*RemoveService = netscreen >> messages.conf:*RemoveService = NetScreen >> >> If you re-write this as >> >> *RemoveService = >> (talkd|telnetd|inetd|nfsd|/sbin/mingetty|netscreen|NetScreen) >> >> It should work without changes.... >> >> However it would be nice if the shared scripts would build that regex >> for you from a CSV list >> >> *RemoveService = talkd,telnetd,etc.... >> >> I don't think it would be hard let me take a look. >> >> -Mike >> _______________________________________________ >> Logwatch-Devel mailing list >> [email protected] >> http://www2.list.logwatch.org:81/mailman/listinfo/logwatch-devel > > How about a patch like this > > [mgt@vega shared]$ cvs diff removeservice > Index: removeservice > =================================================================== > RCS file: /var/cvs/logwatch/scripts/shared/removeservice,v > retrieving revision 1.9 > diff -r1.9 removeservice > 34a35,37 > > #Change commas to pipes -mgt > > $ServiceName =~ s/,/|/g; > > > 37,38c40,41 > < unless ( ($ThisLine =~ m/^... .. ..:..:.. [^ ]* > $ServiceName\[[0123456789]*\]: /oi) or > < ($ThisLine =~ m/^... .. ..:..:.. [^ ]* > (:\s*)?$ServiceName\s*: /oi) ) { > --- > > unless ( ($ThisLine =~ m/^... .. ..:..:.. [^ ]* > ($ServiceName)\[[0123456789]*\]: /oi) or > > ($ThisLine =~ m/^... .. ..:..:.. [^ ]* > (:\s*)?($ServiceName)\s*: /oi) ) { > > It should allow comma separated list to be used, but still remain > backwards compatible. If you can give it a try and I'll commit it. > > -Mike Works for me :), but it would be fine to change config scripts too to use this possibility. Ivana Varekova