w****i 发帖数: 964 | 1 请问python里怎么知道程序本占用了多少内存?我的程序比较吃内存,跑着跑着top一
下就发现占了20几G内存,有些很大的string虽然已经del了但是内存并没有释放,请问
应该如何解决?
另外顺便问个qsub的问题,我的数据很大,想分成几百个小文件file001-file200,是
不是就要生成200个script 去qsub,然后再把200个结果合并起来,似乎比较麻烦,有
没有简便一点的方法?
谢谢 |
n*e 发帖数: 50 | 2 头一个问题不知道,python memory leak估计需要高手来解决。
第二个我们这里的cluster的人跟我说过你分成200个小文件是最容易的办法,比起自己
写并行算法要容易。你可以写个python script去qsub吧?
【在 w****i 的大作中提到】 : 请问python里怎么知道程序本占用了多少内存?我的程序比较吃内存,跑着跑着top一 : 下就发现占了20几G内存,有些很大的string虽然已经del了但是内存并没有释放,请问 : 应该如何解决? : 另外顺便问个qsub的问题,我的数据很大,想分成几百个小文件file001-file200,是 : 不是就要生成200个script 去qsub,然后再把200个结果合并起来,似乎比较麻烦,有 : 没有简便一点的方法? : 谢谢
|
r****t 发帖数: 10904 | 3 for i in range(200):
....os.system("qsub -l ...")
我已经 give up on pbs 了,这种问题现在用 IPython1 来做,如果输出的结果数据不是很大的话
....out = client.map(func, [file001, file002,... file200])
就行了。
如果输出数据太大,觉得这种事最好用 hadoop 来做,还没用过。
【在 w****i 的大作中提到】 : 请问python里怎么知道程序本占用了多少内存?我的程序比较吃内存,跑着跑着top一 : 下就发现占了20几G内存,有些很大的string虽然已经del了但是内存并没有释放,请问 : 应该如何解决? : 另外顺便问个qsub的问题,我的数据很大,想分成几百个小文件file001-file200,是 : 不是就要生成200个script 去qsub,然后再把200个结果合并起来,似乎比较麻烦,有 : 没有简便一点的方法? : 谢谢
|
r****t 发帖数: 10904 | 4 import matplotlib.cbook as cbook
cbook.report_memory(1)
Python2.5 应该不会出现这种情况,除非是你用的 c-extension 有 leak.
这儿有些基本的 debug leaks 的办法:
http://matplotlib.sourceforge.net/faq.html#LEAKS
【在 w****i 的大作中提到】 : 请问python里怎么知道程序本占用了多少内存?我的程序比较吃内存,跑着跑着top一 : 下就发现占了20几G内存,有些很大的string虽然已经del了但是内存并没有释放,请问 : 应该如何解决? : 另外顺便问个qsub的问题,我的数据很大,想分成几百个小文件file001-file200,是 : 不是就要生成200个script 去qsub,然后再把200个结果合并起来,似乎比较麻烦,有 : 没有简便一点的方法? : 谢谢
|
b******n 发帖数: 592 | 5 queue has array job, you can use one generic script to do it.
【在 w****i 的大作中提到】 : 请问python里怎么知道程序本占用了多少内存?我的程序比较吃内存,跑着跑着top一 : 下就发现占了20几G内存,有些很大的string虽然已经del了但是内存并没有释放,请问 : 应该如何解决? : 另外顺便问个qsub的问题,我的数据很大,想分成几百个小文件file001-file200,是 : 不是就要生成200个script 去qsub,然后再把200个结果合并起来,似乎比较麻烦,有 : 没有简便一点的方法? : 谢谢
|