Я делюсь сервером в моем университете с другими студентами.Оперативная память сервера слишком мала, и я сталкиваюсь с ситуацией, когда я почти никогда не могу запустить свои программы из-за ошибки памяти.Сценарий выполняется по частям, но если сервер перегружен, я облажался.
Есть ли у вас какие-либо советы?Возможно, есть способ зарезервировать оперативную память для моего процесса Python.Я знаю, что выпустить память из Python довольно нетривиально.Возможно, я смогу написать скрипт, который выделит память для моего Python, когда он станет свободным.После того, как мне достаточно, возможно, я смогу использовать gc.collect (), но каким-то образом гарантировать, что память останется на моем компьютере для выполнения сценариев?
Спасибо!
Редактировать: яЯ предоставляю шаг, где скрипт тормозит.Я сохраняю данные кусками.Я смог запустить его вчера!Я знаю, что могу увеличить количество кусков, но сегодня я потянул менее 5 ГБ ОЗУ, когда это произошло.
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