Re: Memory Release
If I wasn't clear, I am not sure how I could use this data to solve the leak. Could you give an example of what could cause a memory leak in Pylons? On Feb 13, 6:38 pm, BrandonE brandman...@gmail.com wrote: Hello, Here are my results:http://slexy.org/raw/s20kiy3rw7 This was accomplished by placing: from dozer import Logview app = Logview(app, config) right before the return app statement in middleware.py. This is in Pylons version 1.0b1. On Feb 12, 12:53 am, Philip Jenvey pjen...@underboss.org wrote: On Feb 10, 2010, at 9:48 PM, BrandonE wrote: Hello all, I am converting one of my CGI Python applications to Pylons. Part of it contains displaying a JSON encoded tree generated from a Python list. It is a huge tree. It loads very quickly the first time I load the page. The second time however, it seemed to be going slower. The third, it didn't even complete. To investigate, I looked at the memory usage in my control panel (Testing locally on a Windows 7 computer, but the original case happened on one using Linux). It seemed that the first time, it took up 116,000KB of memory. Although one might argue that my script should never use that amount of memory to begin with, I consider that to be relatively reasonable. However, when I load it the second time, it doubles. I wonder, why is that? That is when I discovered this link: http://effbot.org/pyfaq/why-doesnt-python-release-the-memory-when-i-d... So, it seems that Python frees up memory, but not to the OS. OK, that seems fairly reasonable. However, unlike CGI, Pylons runs constantly, even after a page has been loaded. That makes sense to me, but it seems like Pylons isn't accessing the memory that it just allocated in the previous load. I wonder why that is. There's a memory leak -- something is holding on to the previous request's memory. The Dozer WSGI app can help you find what's holding onto it, e.g.: http://amix.dk/blog/post/19420 Although this could potentially be an issue with Python, WSGI, or Pylons, I figure this is the best place to post it as it is the specific possible factor in this malfunction, and that the experts here will know about the former two. Although some might want to tell me to use less memory altogether, I would like to mention that the same increase occured in other Pylons instances with much smaller consumption, although the increase was proportional. -- Philip Jenvey -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: Memory Release
Hello, Here are my results: http://slexy.org/raw/s20kiy3rw7 This was accomplished by placing: from dozer import Logview app = Logview(app, config) right before the return app statement in middleware.py. This is in Pylons version 1.0b1. On Feb 12, 12:53 am, Philip Jenvey pjen...@underboss.org wrote: On Feb 10, 2010, at 9:48 PM, BrandonE wrote: Hello all, I am converting one of my CGI Python applications to Pylons. Part of it contains displaying a JSON encoded tree generated from a Python list. It is a huge tree. It loads very quickly the first time I load the page. The second time however, it seemed to be going slower. The third, it didn't even complete. To investigate, I looked at the memory usage in my control panel (Testing locally on a Windows 7 computer, but the original case happened on one using Linux). It seemed that the first time, it took up 116,000KB of memory. Although one might argue that my script should never use that amount of memory to begin with, I consider that to be relatively reasonable. However, when I load it the second time, it doubles. I wonder, why is that? That is when I discovered this link: http://effbot.org/pyfaq/why-doesnt-python-release-the-memory-when-i-d... So, it seems that Python frees up memory, but not to the OS. OK, that seems fairly reasonable. However, unlike CGI, Pylons runs constantly, even after a page has been loaded. That makes sense to me, but it seems like Pylons isn't accessing the memory that it just allocated in the previous load. I wonder why that is. There's a memory leak -- something is holding on to the previous request's memory. The Dozer WSGI app can help you find what's holding onto it, e.g.: http://amix.dk/blog/post/19420 Although this could potentially be an issue with Python, WSGI, or Pylons, I figure this is the best place to post it as it is the specific possible factor in this malfunction, and that the experts here will know about the former two. Although some might want to tell me to use less memory altogether, I would like to mention that the same increase occured in other Pylons instances with much smaller consumption, although the increase was proportional. -- Philip Jenvey -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Memory Release
Hello all, I am converting one of my CGI Python applications to Pylons. Part of it contains displaying a JSON encoded tree generated from a Python list. It is a huge tree. It loads very quickly the first time I load the page. The second time however, it seemed to be going slower. The third, it didn't even complete. To investigate, I looked at the memory usage in my control panel (Testing locally on a Windows 7 computer, but the original case happened on one using Linux). It seemed that the first time, it took up 116,000KB of memory. Although one might argue that my script should never use that amount of memory to begin with, I consider that to be relatively reasonable. However, when I load it the second time, it doubles. I wonder, why is that? That is when I discovered this link: http://effbot.org/pyfaq/why-doesnt-python-release-the-memory-when-i-delete-a-large-object.htm So, it seems that Python frees up memory, but not to the OS. OK, that seems fairly reasonable. However, unlike CGI, Pylons runs constantly, even after a page has been loaded. That makes sense to me, but it seems like Pylons isn't accessing the memory that it just allocated in the previous load. I wonder why that is. Although this could potentially be an issue with Python, WSGI, or Pylons, I figure this is the best place to post it as it is the specific possible factor in this malfunction, and that the experts here will know about the former two. Although some might want to tell me to use less memory altogether, I would like to mention that the same increase occured in other Pylons instances with much smaller consumption, although the increase was proportional. Thank you, Brandon -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: Memory Release
On Feb 10, 2010, at 9:48 PM, BrandonE wrote: Hello all, I am converting one of my CGI Python applications to Pylons. Part of it contains displaying a JSON encoded tree generated from a Python list. It is a huge tree. It loads very quickly the first time I load the page. The second time however, it seemed to be going slower. The third, it didn't even complete. To investigate, I looked at the memory usage in my control panel (Testing locally on a Windows 7 computer, but the original case happened on one using Linux). It seemed that the first time, it took up 116,000KB of memory. Although one might argue that my script should never use that amount of memory to begin with, I consider that to be relatively reasonable. However, when I load it the second time, it doubles. I wonder, why is that? That is when I discovered this link: http://effbot.org/pyfaq/why-doesnt-python-release-the-memory-when-i-delete-a-large-object.htm So, it seems that Python frees up memory, but not to the OS. OK, that seems fairly reasonable. However, unlike CGI, Pylons runs constantly, even after a page has been loaded. That makes sense to me, but it seems like Pylons isn't accessing the memory that it just allocated in the previous load. I wonder why that is. There's a memory leak -- something is holding on to the previous request's memory. The Dozer WSGI app can help you find what's holding onto it, e.g.: http://amix.dk/blog/post/19420 Although this could potentially be an issue with Python, WSGI, or Pylons, I figure this is the best place to post it as it is the specific possible factor in this malfunction, and that the experts here will know about the former two. Although some might want to tell me to use less memory altogether, I would like to mention that the same increase occured in other Pylons instances with much smaller consumption, although the increase was proportional. -- Philip Jenvey -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.