We have SP 2010 farm with 1 app server and 2 WFEs. We have been facing issue with owstimer eating up the available memory at our servers randomly. meaning, at any point of time, 1 server max'd up memory or all three servers. CPU is low/normal. owstimer is the culprit everytime we checked. But we cant determine which one of the timer jobs that caused this memory spike. we stopped timer service and cleared timer cache and issue occurred again within few days. issue only happened in the past 3 months. we did install a 3rd party tools and several custom solutions (upgrade) in the past 3 months. question: how to know which of the timer jobs running thru sptimer service utilizing high memory. is there anyway to find this out?
The culprit will the most probably one of the custom jobs. Check the ULS log for the OWSTIMER Monitorable/Perfomance events should give you some idea what is wrong . On Non Prod server I would restore your content DB and check custom jobs one by one, just by executing jobs to see which one will cause the memory spike. Hope that helps.