gzip使用什么临时内存?

时间:2018-11-12 19:47:56

标签: linux gzip

使用gzip(在Linux环境中)压缩文件时,它将压缩文件,然后删除原始文件。它使用什么内存或将压缩文件放置到什么位置?

示例:我有一个在磁盘上运行的嵌入式Linux系统,该磁盘有两个分区,一个是文件系统的根分区,另一个是仅用于数据的分区。当数据分区100%充满时,我仍然可以在其上gzip一个文件。如果gzip没有临时使用根分区上的空间,怎么办?我怎么知道它正在使用哪个目录?

编辑:(添加了df输出) root @ qemuarm:/ opt / hdisk#df 已使用的文件系统1K块可用用法已安装% / dev / root 1007896 110488 846208 12%/ devtmpfs 118880 4 118876 1%/ dev / dev / sda2 2826800 2695424 0 100%/ opt / hdisk tmpfs 118960 76 118884 1%/运行 tmpfs 118960 4 118956 1%/ var / volatile / tmp

1 个答案:

答案 0 :(得分:1)

gzip永远不会将整个压缩文件保留在内存中。由于正在生成压缩数据,因此仅保留了K个字节。 gzip将生成的.gz文件写入原始文件所在的目录。只有成功(或者至少对gzip看起来成功)之后,原始文件才会被删除。

我不知道为什么您的“ 100%完整”文件系统允许写入,但是显然100%并不真正意味着100%。您可以尝试使用垃圾文件来写入文件,以查看在抱怨磁盘已满之前需要写多少。