有没有办法在 Linux 上删除 100GB 文件而不影响 IO/负载?

obj*_*ted 9 linux io rm

我有一个巨大的日志文件,需要在生产 Web 服务器上删除。如果我在 Linux 上运行它,我担心它会使系统陷入困境。有什么绝妙的想法吗?

更新:

文件系统:ext3

分区:/var(主要是日志和 MySQL 数据)

不再写入日志文件。(没有附加其他数据)

Web 服务器是 LAMP(大量 IO)

eww*_*ite 12

将文件归零/截断可能比删除文件更快。我还提到了这一点,因为这是一个非常大的日志文件,因此必须有大量的进程活动写入其中。: > /path/to/logfile.log如果您无法停止和启动生产服务,请尝试。


Jan*_*nen 10

ionice -c3 rm yourfile.log是你最好的选择,那么 rm 将属于空闲 I/O 类,并且仅在任何其他进程不需要时才使用 I/O。ext3 在删除大文件时并不是很出色,而且您对此无能为力。是的,rm 命令会减慢您的系统速度。删除的速度和持续时间只能猜测,这在很大程度上取决于硬件、内核版本和 ext3 文件系统创建设置。

对于日志服务器和其他具有大文件的服务器,我倾向于使用 XFS,因为它们的速度非常快。