[CPyUG] 请教一个python内存占用问题?

classic Classic list List threaded Threaded
8 messages Options
jjx
Reply | Threaded
Open this post in threaded view
|

[CPyUG] 请教一个python内存占用问题?

jjx
一个使用twisted 的控制台服务程序,为了方便使用了django的orm(因为web部分用的是django,共享代码),但是运行中发现
python不释放内存,内存不断上升,直到占用1.5g时提示twisted提示内存不足(服务器总共2G内存). 关闭cmd窗口后内存全部释放

程序中除了django 的orm对象,基本不存在循环引用的对象,也没几个全局变量,都是本地变量,定期调用gc无效,查看gc.garbage也没
有没释放的对象,
程序大概运行两三天后就提示内存不足,twisted停止


求解决方法

补充:django的orm调用基本上每次调用往往都会消耗几k内存,但往orm对象放上 __del__,确看到它是被调用了,而且关键是gc看起来
很正常 不知道问题是否出在这里(但web应用内存消耗非常正常,用的是同样的代码)

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 请教一个python内存占用问题?

MuSheng Chen
自己最近也碰到�似���}。
不知道你有�]有使用到多�程,有可能多�程�g�ο笞�量的引用、�放不完全造
成,�下在�程加�i。


On 2010-05-31 14:53, jjx wrote:

> 一个使用twisted 的控制台服务程序,为了方便使用了django的orm(因为web部分用的是django,共享代码),但是运行中发现
> python不释放内存,内存不断上升,直到占用1.5g时提示twisted提示内存不足(服务器总共2G内存). 关闭cmd窗口后内存全部释放
>
> 程序中除了django 的orm对象,基本不存在循环引用的对象,也没几个全局变量,都是本地变量,定期调用gc无效,查看gc.garbage也没
> 有没释放的对象,
> 程序大概运行两三天后就提示内存不足,twisted停止
>
>
> 求解决方法
>
> 补充:django的orm调用基本上每次调用往往都会消耗几k内存,但往orm对象放上 __del__,确看到它是被调用了,而且关键是gc看起来
> 很正常 不知道问题是否出在这里(但web应用内存消耗非常正常,用的是同样的代码)
>
>  


--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 请教一个python内存占用问题?

Wayne-39
In reply to this post by jjx
django的debug模式关了没?

2010/5/31 jjx <[hidden email]>
一个使用twisted 的控制台服务程序,为了方便使用了django的orm(因为web部分用的是django,共享代码),但是运行中发现
python不释放内存,内存不断上升,直到占用1.5g时提示twisted提示内存不足(服务器总共2G内存). 关闭cmd窗口后内存全部释放

程序中除了django 的orm对象,基本不存在循环引用的对象,也没几个全局变量,都是本地变量,定期调用gc无效,查看gc.garbage也没
有没释放的对象,
程序大概运行两三天后就提示内存不足,twisted停止


求解决方法

补充:django的orm调用基本上每次调用往往都会消耗几k内存,但往orm对象放上 __del__,确看到它是被调用了,而且关键是gc看起来
很正常 不知道问题是否出在这里(但web应用内存消耗非常正常,用的是同样的代码)

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp


--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
jjx
Reply | Threaded
Open this post in threaded view
|

[CPyUG] Re: 请教一个python内存占用问题?

jjx
没有,这有影响吗?

On 5月31日, 下午4时13分, Wayne <[hidden email]> wrote:

> django的debug模式关了没?
>
> 2010/5/31 jjx <[hidden email]>
>
>
>
> > 一个使用twisted 的控制台服务程序,为了方便使用了django的orm(因为web部分用的是django,共享代码),但是运行中发现
> > python不释放内存,内存不断上升,直到占用1.5g时提示twisted提示内存不足(服务器总共2G内存). 关闭cmd窗口后内存全部释放
>
> > 程序中除了django 的orm对象,基本不存在循环引用的对象,也没几个全局变量,都是本地变量,定期调用gc无效,查看gc.garbage也没
> > 有没释放的对象,
> > 程序大概运行两三天后就提示内存不足,twisted停止
>
> > 求解决方法
>
> > 补充:django的orm调用基本上每次调用往往都会消耗几k内存,但往orm对象放上 __del__,确看到它是被调用了,而且关键是gc看起来
> > 很正常 不知道问题是否出在这里(但web应用内存消耗非常正常,用的是同样的代码)
>
> > --
> > 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
> > 退订:http://tinyurl.com/45a9tb//针对163/qq邮箱:http://tinyurl.com/4dg6hc
> > 详情:https://groups.google.com/group/python-cn
> > 严正: 理解列表! 智慧提问!http://wiki.woodpecker.org.cn/moin/AskForHelp

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
jjx
Reply | Threaded
Open this post in threaded view
|

[CPyUG] Re: 请教一个python内存占用问题?

jjx
是不是debug下connection.queries这个东西会很大?

On 5月31日, 下午4时19分, jjx <[hidden email]> wrote:

> 没有,这有影响吗?
>
> On 5月31日, 下午4时13分, Wayne <[hidden email]> wrote:
>
>
>
> > django的debug模式关了没?
>
> > 2010/5/31 jjx <[hidden email]>
>
> > > 一个使用twisted 的控制台服务程序,为了方便使用了django的orm(因为web部分用的是django,共享代码),但是运行中发现
> > > python不释放内存,内存不断上升,直到占用1.5g时提示twisted提示内存不足(服务器总共2G内存). 关闭cmd窗口后内存全部释放
>
> > > 程序中除了django 的orm对象,基本不存在循环引用的对象,也没几个全局变量,都是本地变量,定期调用gc无效,查看gc.garbage也没
> > > 有没释放的对象,
> > > 程序大概运行两三天后就提示内存不足,twisted停止
>
> > > 求解决方法
>
> > > 补充:django的orm调用基本上每次调用往往都会消耗几k内存,但往orm对象放上 __del__,确看到它是被调用了,而且关键是gc看起来
> > > 很正常 不知道问题是否出在这里(但web应用内存消耗非常正常,用的是同样的代码)
>
> > > --
> > > 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
> > > 退订:http://tinyurl.com/45a9tb//针对163/qq邮箱:http://tinyurl.com/4dg6hc
> > > 详情:https://groups.google.com/group/python-cn
> > > 严正: 理解列表! 智慧提问!http://wiki.woodpecker.org.cn/moin/AskForHelp

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
jjx
Reply | Threaded
Open this post in threaded view
|

[CPyUG] Re: 请教一个python内存占用问题?

jjx
果然,短时间运行看来设置DEBUG=False有效

On 5月31日, 下午4时27分, jjx <[hidden email]> wrote:

> 是不是debug下connection.queries这个东西会很大?
>
> On 5月31日, 下午4时19分, jjx <[hidden email]> wrote:
>
>
>
> > 没有,这有影响吗?
>
> > On 5月31日, 下午4时13分, Wayne <[hidden email]> wrote:
>
> > > django的debug模式关了没?
>
> > > 2010/5/31 jjx <[hidden email]>
>
> > > > 一个使用twisted 的控制台服务程序,为了方便使用了django的orm(因为web部分用的是django,共享代码),但是运行中发现
> > > > python不释放内存,内存不断上升,直到占用1.5g时提示twisted提示内存不足(服务器总共2G内存). 关闭cmd窗口后内存全部释放
>
> > > > 程序中除了django 的orm对象,基本不存在循环引用的对象,也没几个全局变量,都是本地变量,定期调用gc无效,查看gc.garbage也没
> > > > 有没释放的对象,
> > > > 程序大概运行两三天后就提示内存不足,twisted停止
>
> > > > 求解决方法
>
> > > > 补充:django的orm调用基本上每次调用往往都会消耗几k内存,但往orm对象放上 __del__,确看到它是被调用了,而且关键是gc看起来
> > > > 很正常 不知道问题是否出在这里(但web应用内存消耗非常正常,用的是同样的代码)
>
> > > > --
> > > > 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
> > > > 退订:http://tinyurl.com/45a9tb//针对163/qq邮箱:http://tinyurl.com/4dg6hc
> > > > 详情:https://groups.google.com/group/python-cn
> > > > 严正: 理解列表! 智慧提问!http://wiki.woodpecker.org.cn/moin/AskForHelp

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

[CPyUG] Re: 请教一个python内存占用问题?

Beyonder
是的 如果打开debug, django会保留每次sql语句查询的信息和状态.
我也碰到这个问题, 查了好久.

On May 31, 4:46 pm, jjx <[hidden email]> wrote:

> 果然,短时间运行看来设置DEBUG=False有效
>
> On 5月31日, 下午4时27分, jjx <[hidden email]> wrote:
>
> > 是不是debug下connection.queries这个东西会很大?
>
> > On 5月31日, 下午4时19分, jjx <[hidden email]> wrote:
>
> > > 没有,这有影响吗?
>
> > > On 5月31日, 下午4时13分, Wayne <[hidden email]> wrote:
>
> > > > django的debug模式关了没?
>
> > > > 2010/5/31 jjx <[hidden email]>
>
> > > > > 一个使用twisted 的控制台服务程序,为了方便使用了django的orm(因为web部分用的是django,共享代码),但是运行中发现
> > > > > python不释放内存,内存不断上升,直到占用1.5g时提示twisted提示内存不足(服务器总共2G内存). 关闭cmd窗口后内存全部释放
>
> > > > > 程序中除了django 的orm对象,基本不存在循环引用的对象,也没几个全局变量,都是本地变量,定期调用gc无效,查看gc.garbage也没
> > > > > 有没释放的对象,
> > > > > 程序大概运行两三天后就提示内存不足,twisted停止
>
> > > > > 求解决方法
>
> > > > > 补充:django的orm调用基本上每次调用往往都会消耗几k内存,但往orm对象放上 __del__,确看到它是被调用了,而且关键是gc看起来
> > > > > 很正常 不知道问题是否出在这里(但web应用内存消耗非常正常,用的是同样的代码)
>
> > > > > --
> > > > > 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
> > > > > 退订:http://tinyurl.com/45a9tb//针对163/qq邮箱:http://tinyurl.com/4dg6hc
> > > > > 详情:https://groups.google.com/group/python-cn
> > > > > 严正: 理解列表! 智慧提问!http://wiki.woodpecker.org.cn/moin/AskForHelp
>
>

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] Re: 请教一个python内存占用问题?

@@-2
这个可以过一段时间调用一次reset那个方法

2010/5/31 Beyonder <[hidden email]>:

> 是的 如果打开debug, django会保留每次sql语句查询的信息和状态.
> 我也碰到这个问题, 查了好久.
>
> On May 31, 4:46 pm, jjx <[hidden email]> wrote:
>> 果然,短时间运行看来设置DEBUG=False有效
>>
>> On 5月31日, 下午4时27分, jjx <[hidden email]> wrote:
>>
>> > 是不是debug下connection.queries这个东西会很大?
>>
>> > On 5月31日, 下午4时19分, jjx <[hidden email]> wrote:
>>
>> > > 没有,这有影响吗?
>>
>> > > On 5月31日, 下午4时13分, Wayne <[hidden email]> wrote:
>>
>> > > > django的debug模式关了没?
>>
>> > > > 2010/5/31 jjx <[hidden email]>
>>
>> > > > > 一个使用twisted 的控制台服务程序,为了方便使用了django的orm(因为web部分用的是django,共享代码),但是运行中发现
>> > > > > python不释放内存,内存不断上升,直到占用1.5g时提示twisted提示内存不足(服务器总共2G内存). 关闭cmd窗口后内存全部释放
>>
>> > > > > 程序中除了django 的orm对象,基本不存在循环引用的对象,也没几个全局变量,都是本地变量,定期调用gc无效,查看gc.garbage也没
>> > > > > 有没释放的对象,
>> > > > > 程序大概运行两三天后就提示内存不足,twisted停止
>>
>> > > > > 求解决方法
>>
>> > > > > 补充:django的orm调用基本上每次调用往往都会消耗几k内存,但往orm对象放上 __del__,确看到它是被调用了,而且关键是gc看起来
>> > > > > 很正常 不知道问题是否出在这里(但web应用内存消耗非常正常,用的是同样的代码)
>>
>> > > > > --
>> > > > > 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
>> > > > > 退订:http://tinyurl.com/45a9tb//针对163/qq邮箱:http://tinyurl.com/4dg6hc
>> > > > > 详情:https://groups.google.com/group/python-cn
>> > > > > 严正: 理解列表! 智慧提问!http://wiki.woodpecker.org.cn/moin/AskForHelp
>>
>>
>
> --
> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
> 退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
> 详情: https://groups.google.com/group/python-cn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
>

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp