As I mentioned here, we upgraded our mail server to Tiger. All looked good, until we started to see this in our logs:
Potential VM growth in DirectoryService since client PID: 0,
has 550 open references when the warning limit is 500.
According to posts in Apple’s OS X Server forum (here, here, and the tail end of here) it looks like this nasty problem involves either servermgrd and/or DirectoryService. The number of open reference continuously grows until it renders your server unusable – usually not considered a good thing.
I don’t have a fix for the problem.
I do however, have an bandaid.
I created a perl script in /usr/local/bin/ called plugleak.pl. The script checks the system.log looking for the tell-tail error message above. If it finds it it restarts both servermgrd and DirectoryService.
Using Lingon (a very nice little GUI for launchd items) I created a periodic task (/Library/LaunchDeamons/com.pimedia.plugleak.plist) to run the plugleak.pl script every 10 minutes.
Not necessarily an elegant solution. But, well, ya do what ya gotta do.
Update
I don’t do a lot of admin support anymore, but I do scan the Mac OS X Server mailing list, and I came across a post that led me to this thread on the Darwin Kernel list that goes a long way to explaining what is going on here.
Very interesting and worth a read.