Memory leak heads up
Anyone remember when we deployed some servers with Perl 5.10.0 and saw all sorts of problems with memory usage due to a memory leak in map? I ended up drastically reducing the number of requests each Apache process would handle before it exits,
mark and I set up various cron jobs that would unceremoniously kill off workers every so often, etc. As we upgraded and phased out older servers, I think it was no longer a problem (e.g., web08 had Perl 5.10.1).
Well, it's looking like there's another Perl memory leak on the newest group of servers. They're running 5.14.2, and things like synsuck and resolve-extacct (really?) are using several gigs of RAM after a few days. I've set up an array of lovely new worker-restarting cron jobs, and I think this is the relevant Perl bug: perl: memory leak in Encode::decode. It is likely that we'll be able to patch this in production.
I guess if you have a choice, just skip to 5.14.4.
![[staff profile]](https://www.dreamwidth.org/img/silk/identity/user_staff.png)
Well, it's looking like there's another Perl memory leak on the newest group of servers. They're running 5.14.2, and things like synsuck and resolve-extacct (really?) are using several gigs of RAM after a few days. I've set up an array of lovely new worker-restarting cron jobs, and I think this is the relevant Perl bug: perl: memory leak in Encode::decode. It is likely that we'll be able to patch this in production.
I guess if you have a choice, just skip to 5.14.4.
no subject
cd $LJHOME
cpanm -L extlib Encode
(then sync this to the other servers). Would anyone like to confirm whether Encode 2.51 is suitable for use with Dreamwidth?
no subject
no subject
no subject
FWIW, I did upgrade my hack last night to use 2.51 with the proposed cpanm flow, and it seems to work. Granted, I don't have syndicated feeds so it's not a great test... but the web site itself seems to work and not explode.
no subject
no subject
no subject
Okay, I'm rolling Encode 2.51 it out to the rest of the servers (sync-dw-home2) and restarting things. I'll keep an eye on the error logs and make sure things look happy.