nodejs 如何解压10G左右的压缩包?
已知node虚拟机内存缓存区大小为1.5G左右,直接使用zlib解压会造成程序崩溃
有没有哪个库是边读边解压的?
或者,能不能将压缩包拆成若干个小的压缩包再分别解压后合并?
6 回复
你不是用 stream 的方式?
@atian25 不是哦,请教一下用stream的方式应该写
其实如果非 win 场景下的话,直接 fork 个 tar 命令
fork tar命令,由于解压的文件比较大注意要关闭tar命令的-v参数,标准输出将默认分配的缓冲写满后会阻塞子进程,也可以调用fork的时候使用ignore参数将stdio忽略掉。也可以调节maxBuffer参数大小,让stdio有足够的缓冲空间,但在生产环境缓冲比较宝贵。
省事儿,可以child_process.spawn
调用外部二进制工具。例如:『unzip』…