Linux
有沒有辦法在不破壞 IO / 負載的情況下刪除 Linux 上的 100GB 文件?
我有一個巨大的日誌文件需要在生產 Web 伺服器上刪除。如果我在 Linux 上執行它,我擔心它會使系統陷入困境。有什麼絕妙的主意嗎?
更新:
文件系統:ext3
分區:/var(主要是日誌和 MySQL 數據)
不再寫入日誌文件。(沒有附加額外的數據)
Web 伺服器是 LAMP(大量 IO)
將文件歸零/截斷可能比刪除它更快。我還提到這一點,因為這是一個非常大的日誌文件,因此必須有大量的程序活動寫入它。
: > /path/to/logfile.log
如果您無法停止和啟動生產服務,請嘗試一下。
ionice -c3 rm yourfile.log
是您最好的選擇,那麼 rm 將屬於空閒 I/O 類,並且僅在任何其他程序不需要它時才使用 I/O。ext3 在刪除大文件時並不出色,您對此無能為力。是的,rm 命令會減慢您的系統速度。緩慢的程度和刪除的持續時間只能猜測,它在很大程度上取決於硬體、核心版本和 ext3 文件系統創建設置。對於日誌伺服器和其他具有大文件的伺服器,我傾向於使用 XFS,因為它們的速度非常快。