現在有一個需求,需要後台刪除慢速快取文件, 快取文件很大。有時候單一檔案就幾百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的效能管理器。沒有看到滿載。