现在有一个需求,需要后台删除慢速缓存文件, 缓存文件很大。有时候单个文件就几百G,删除时需要硬盘使用率不超过5%~10%. 有什么办法吗?
win7 NTFS分区
其实也可以问,如何删除文件的一部分内容,而不是整个文件? 貌似逃脱不了读取的IO? 能否直接抹掉一个文件的内容呢?
闭关修行中......
写了个github 欢迎帮忙测试: github链接
尝试用了下truncate, 是可以控制删除速度和内容,但是没有弄个详细测试,只看了win的性能管理器。没有看到满载。
# frw = open(filename, "wb") # for a in xrange(10): # frw.write('rrreee'*1024*1024*1024) # frw.close() # # assert 1== 2 import os import time while True: time.sleep(0.01) SIZE = os.path.getsize(filename) print SIZE frw = open(filename, "r+b") frw.seek(SIZE-1024*1024, 0) frw.truncate() frw.close()
写了个github 欢迎帮忙测试: github链接
尝试用了下truncate, 是可以控制删除速度和内容,但是没有弄个详细测试,只看了win的性能管理器。没有看到满载。