在 CentOS 下提到 extract(解压/提取)提速,通常分几种场景。下面按常见情况给你可落地的优化方案。
传统 tar + gzip 是单线程的,很慢。
推荐工具:
# 安装
yum install pigz -y
# 解压
tar --use-compress-program=pigz -xf file.tar.gz
yum install pbzip2 -y
tar --use-compress-program=pbzip2 -xf file.tar.bz2
yum install pixz -y
tar --use-compress-program=pixz -xf file.tar.xz
mkdir /tmp/extract
tar -xf file.tar.gz -C /tmp/extract
/tmp 通常是 tmpfs 或 SSD,速度更快。
解压时:
systemctl stop nginx mysql docker
避免磁盘 I/O 争抢。
tar -xf file.tar.gz
不要加:
-v( verbose 会严重拖慢)如果必须看进度:
tar -xf file.tar.gz --checkpoint=1000
优化方案:
cpio / unzip -O 优化yum install unzip -y
unzip -o file.zip
或并行解压(需脚本拆分):
bsdtaryum install libarchive -y
bsdtar -xf file.zip
top 看是否 CPU 占满✅ 最快实践:
yum install pixz -y
tar --use-compress-program=pixz -xf bigfile.tar.xz -C /tmp
如果你能说明:
我可以给你精确到命令级别的提速方案。