title: Which Python memory profiler is recommended?
body: <p>I want to know the memory usage of my Python application and specifically want to know what code blocks/portions or objects are consuming most memory.
  Google search shows a commercial one is <a href="http://www.softwareverify.com/python/memory/index.html" rel="noreferrer">Python Memory Validator</a> (Windows only).</p>
  
  <p>And open source ones are <a href="http://pysizer.8325.org/" rel="noreferrer">PySizer</a> and <a href="http://guppy-pe.sourceforge.net/#Heapy" rel="noreferrer">Heapy</a>.</p>
  
  <p>I haven't tried anyone, so I wanted to know which one is the best considering:</p>
  
  <ol>
  <li><p>Gives most details.</p></li>
  <li><p>I have to do least or no changes to my code.</p></li>
  </ol>