【发布时间】:2013-07-19 21:18:38
【问题描述】:
我创建了一个启用压缩的大型文件系统。现在我禁用了压缩,但我没有获得完整的性能。原因是解压缩是惰性的,只会应用于新文件。
有没有办法在后台启动解压缩?
我知道将文件复制到新分区并返回,但是有更聪明的方法吗?
【问题讨论】:
标签: zfs
我创建了一个启用压缩的大型文件系统。现在我禁用了压缩,但我没有获得完整的性能。原因是解压缩是惰性的,只会应用于新文件。
有没有办法在后台启动解压缩?
我知道将文件复制到新分区并返回,但是有更聪明的方法吗?
【问题讨论】:
标签: zfs
这很奇怪,但启用压缩后性能会更好。
无论如何,如果您真的想解压缩文件,则无需使用新的“分区”(不确定您是指新的文件系统还是池)。假设有足够的空间来保存文件系统中最大文件的副本,并且这些文件没有被应用程序同时使用/更新,您可以将文件复制到同一目录中,然后将它们移动到它们的原始名称,覆盖压缩后的原件,例如:
find . -type f -exec ksh -c 'for i do echo cp -p "$i" "$i.u$$" && echo mv "$i.u$$" "$i"; done' ksh {} +
删除两个“回显”指令以实际进行更改。
【讨论】: