运行 逐行写入文件时内存不足 [Python]
Running out of RAM when writing to a file line by line [Python]
我有一些大数据的数据处理任务。我 运行 EC2 上的脚本使用 Python 看起来像下面这样:
with open(LARGE_FILE, 'r') as f:
with open(OUTPUT_FILE, 'w') as out:
for line in f:
results = some_computation(line)
out.write(json.dumps(results))
out.write('\n')
我逐行遍历数据并将结果逐行写入另一个文件。
运行宁了几个小时后,我无法登录服务器。我必须重新启动实例才能继续。
$ ssh ubuntu@$IP_ADDRESS
ssh_exchange_identification: read: Connection reset by peer
服务器可能 运行RAM 不足。写入文件时,RAM 缓慢爬升。我不确定为什么逐行读写时内存会成为问题。
我有足够的硬盘space。
我认为最接近这个问题:Does the Python "open" function save its content in memory or in a temp file?
我正在使用 SpaCy 对文本进行一些预处理。看起来使用分词器会导致内存稳定增长。
我有一些大数据的数据处理任务。我 运行 EC2 上的脚本使用 Python 看起来像下面这样:
with open(LARGE_FILE, 'r') as f:
with open(OUTPUT_FILE, 'w') as out:
for line in f:
results = some_computation(line)
out.write(json.dumps(results))
out.write('\n')
我逐行遍历数据并将结果逐行写入另一个文件。
运行宁了几个小时后,我无法登录服务器。我必须重新启动实例才能继续。
$ ssh ubuntu@$IP_ADDRESS
ssh_exchange_identification: read: Connection reset by peer
服务器可能 运行RAM 不足。写入文件时,RAM 缓慢爬升。我不确定为什么逐行读写时内存会成为问题。
我有足够的硬盘space。
我认为最接近这个问题:Does the Python "open" function save its content in memory or in a temp file?
我正在使用 SpaCy 对文本进行一些预处理。看起来使用分词器会导致内存稳定增长。