Every time there is a tick and memmon checks the memory of a Gunicorn process, the following output is logged to the error log:
$ tail -f /var/log/supervisor/bundle_p00000017_2011-05-01-19.28.03-stderr---memmon.log Checking programs bundle_p00000017_2011-05-01-19.28.03=26214400 ERROR: Process ID out of range. ********* simple selection ********* ********* selection by list ********* -A all processes -C by command name -N negate selection -G by real group ID (supports names) -a all w/ tty except session leaders -U by real user ID (supports names) -d all except session leaders -g by session OR by effective group name -e all processes -p by process ID T all processes on this terminal -s processes in the sessions given a all w/ tty, including other users -t by tty g OBSOLETE -- DO NOT USE -u by effective user ID (supports names) r only running processes U processes for specified users x processes w/o controlling ttys t by tty *********** output format ********** *********** long options *********** -o,o user-defined -f full --Group --User --pid --cols --ppid -j,j job control s signal --group --user --sid --rows --info -O,O preloaded -o v virtual memory --cumulative --format --deselect -l,l long u user-oriented --sort --tty --forest --version -F extra full X registers --heading --no-heading --context ********* misc options ********* -V,V show version L list format codes f ASCII art forest -m,m,-L,-T,H threads S children in sum -y change -l format -M,Z security data c true command name -c scheduling class -w,w wide output n numeric WCHAN,UID -H process hierarchy ERROR: Process ID out of range. ********* simple selection ********* ********* selection by list ********* -A all processes -C by command name -N negate selection -G by real group ID (supports names) -a all w/ tty except session leaders -U by real user ID (supports names) -d all except session leaders -g by session OR by effective group name -e all processes -p by process ID T all processes on this terminal -s processes in the sessions given a all w/ tty, including other users -t by tty g OBSOLETE -- DO NOT USE -u by effective user ID (supports names) r only running processes U processes for specified users x processes w/o controlling ttys t by tty *********** output format ********** *********** long options *********** -o,o user-defined -f full --Group --User --pid --cols --ppid -j,j job control s signal --group --user --sid --rows --info -O,O preloaded -o v virtual memory --cumulative --format --deselect -l,l long u user-oriented --sort --tty --forest --version -F extra full X registers --heading --no-heading --context ********* misc options ********* -V,V show version L list format codes f ASCII art forest -m,m,-L,-T,H threads S children in sum -y change -l format -M,Z security data c true command name -c scheduling class -w,w wide output n numeric WCHAN,UID -H process hierarchy RSS of bundle_p00000017_2011-05-01-19.28.03:bundle_p00000017_2011-05-01-19.28.03 is 9297920 You can see that in the end it properly gets the RSS of the process, but why does it report "ERROR: Process ID out of range." two times once the process is running? Here is the relevant section in my supervisor conf file: [eventlistener:memmon] command=/usr/local/bin/memmon -p bundle_p00000017_2011-05-01-19.28.03=25MB events=TICK_60 stdout_logfile=/var/log/supervisor/bundle_p00000017_2011-05-01-19.28.03-stdout---memmon.log stderr_logfile=/var/log/supervisor/bundle_p00000017_2011-05-01-19.28.03-stderr---memmon.log The log file is going to get quite verbose with all of these messages (consuming disk space), so I'm trying to find out where the problem is occurring so I can get less verbose (and more accurate) log files. If you have any ideas what the problem might be, I'd very much appreciate your input. thanks, Nate -- Nate Aune - [email protected] http://www.jazkarta.com http://card.ly/natea http://tungle.me/natea +1 (617) 517-4953 _______________________________________________ Supervisor-users mailing list [email protected] http://lists.supervisord.org/mailman/listinfo/supervisor-users
