我在我的大学里和其他学生共用一台服务器。服务器的RAM太小了,而且由于内存错误,我几乎无法运行程序。脚本是分块运行的,但是如果服务器过载,我就完蛋了。在
你有什么建议吗?也许这是我的Python进程保留内存的方法。我知道从python释放内存是非常重要的。也许我可以编写一个脚本,当Python空闲时,它将把内存分配给它。以后,我有足够的,也许我可以用gc.收集(),但不知何故确保内存保留在我的计算机上以运行脚本?在
谢谢!在
编辑:我提供了脚本刹车的步骤。我正在将数据分块保存。我昨天就能跑了!我知道我可以增加块的数量,但今天我拉不到5gb的内存。在
for hour in np.arange(logins.hours.min(),logins.hours.max()+1):
start_time = time.time()
dict_choices=process_day(hour,dict_choices).copy()
df=pd.DataFrame.from_dict(dict_choices,orient='index')
df['hour']=hour
rezovi[i]=df
i=i+1
print("Handled hour {} in year {} in %s seconds (iteration {}) ---".format(-hour/mini,year,i) % round((time.time() - start_time),2))
if ((i % 100)==0):
rezultat=pd.concat([df for df in rezovi.values()], ignore_index=False).reset_index()
keep=list(rezultat.columns.values[0:7])
keep.append('hour')
rezultat=rezultat[keep]
rezultat=convert_types(rezultat,print_info=True)
rezultat.to_csv('save/2018/chunk'+str(hour)+'.csv')
del rezovi,rezultat,keep,df
gc.collect()
rezovi={}
i=0
目前没有回答
相关问题 更多 >
编程相关推荐