标签: compression

lz4压缩只使用单核?

我正在使用cat largeFile.iso | lz4 -10 -,而且速度很慢(30mb/s?)。

使用htop我看到它只使用一个核心来100%?我需要指定任何其他参数吗?我似乎无法在lz4 --help.

我希望它使用多个内核,进而更快地压缩这个文件。

compression lz4

3
推荐指数
1
解决办法
779
查看次数

如何禁用 Debian Linux 10 buster 的 initrd.img 文件压缩

我想禁用/boot/initrd.img文件压缩以加快启动速度。我的磁盘足够大,可以容纳额外的 10MB。老实说,我认为这应该是默认设置,现在谁买不起几兆字节的磁盘空间。对于嵌入式场景,可以手动启用。

查看/etc/initramfs-tools/initramfs.conf,有更改压缩类型的选项

COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz ]
Run Code Online (Sandbox Code Playgroud)

但没有禁用压缩的选项。我试过Nonenone,没有效果。

作为解决方案,我initrd.img-4.19.0-8-amd64使用手动解压缩gunzip。但每次安装内核更新时我都必须再次解压。

linux debian compression initramfs

3
推荐指数
1
解决办法
2530
查看次数

安装squashfs是否会将整个文件系统放入RAM中?

情况:我有一个更大(>10GB)的只读小文件集合,其中包含大量重复项,我需要在多台计算机上(甚至在不同的文件系统上)使用这些重复项。我们可以假设 Linux 内核 > 5.3.0。

一种解决方案是将它们放入 squashfs 映像文件中,在创建它时使用重复数据删除和 zstd 压缩,然后安装它。现在,只有当安装并不意味着所有文件都需要适合 RAM 时,这才对我有用。

像这样安装压缩的squashfs 文件系统总是需要完全解压到RAM 吗?

linux compression mount ram squashfs

3
推荐指数
1
解决办法
2227
查看次数

如何压缩磁盘交换区

我正在寻找一种压缩磁盘上交换的方法。我并不是在寻求对替代解决方案进行更广泛的讨论。请参阅最后的讨论。

我努力了...

使用压缩的 zfs zvol 进行交换是行不通的。它的设置有效,交换有效,交换确实发生了一些,所以我想有人可能会说它在技术上是一个可行的解决方案,但是如果它比软盘访问慢,并导致您的系统“工作”,那么您的工作解决方案到底如何“工作”十次中有十次完全冻结?尝试了几次——一旦系统进入内存压力条件,一切都会冻结。我也尝试使用 losetup 间接使用它,甚至尝试使用 zfs zvol 作为 zram 的支持设备。没有区别,总是相同的结果——写入/读取速度极其缓慢,系统不可避免地在压力下崩溃。

BTRFS。仅支持未压缩的交换文件。显然,也只支持未压缩的循环图像,因为我尝试了 dd-ing 一个空文件,使用常规 ext2 格式化它,压缩它,作为循环设备安装,并在其中创建一个交换文件。不起作用,即使我在启用强制压缩的情况下安装了 btrfs - compsize 显示 ext2 图像压缩比恰好为 1.00 。

Zswap——它只是内存和常规磁盘交换之间的缓冲区。常规磁盘交换仍然是常规磁盘交换,zswap 在将页面写入其中之前解压缩页面。

Zram——自从它作为compcache诞生以来就有一个支持设备选项,人们会认为它是多年来一直使用压缩磁盘交换的完美候选者。没有这样的运气。虽然您可以随意将压缩的内存页面写回磁盘,但页面在写入之前会被解压缩。与 zswap 不同的是,它不会写入相同和零填充的页面,这既节省了 i\o,又稍微提高了吞吐量,并保证使用循环安装的稀疏文件作为 backing_dev。到目前为止,这是我在低端设备上找到的交换优化的最佳选择,尽管它仍然缺乏磁盘压缩。


还有什么想法我还可以尝试吗?也许有一些我不知道的压缩块设备层,可以压缩写入其中的任何内容,不需要文件系统?也许我可以使用一些压缩的覆盖层?但在 FUSE 中没有这样做,因为 FUSE 本身就是交换的对象,除非您知道一种方法来防止它被交换。

由于我没有看到对此进行太多探索,因此欢迎您提出您喜欢的任何疯狂建议。拜托,让我们往墙上扔东西,看看什么能粘住。

对于专家来说——如果你们中的任何人阅读过,甚至编写过与此问题相关的 Linux 源代码的任何部分,请尽可能详细地描述,为什么您认为这还没有实现,以及如何实现如果您有任何想法,您认为它可以实施吗?显然,如果可以的话,请务必实现这一点,那就太棒了。


讨论

在将其标记为重复之前——我知道围绕 stackexchange 存在一些类似的问题,但我看到没有一个有有效的答案,也很少有任何进一步的反馈。因此,我将尝试在这里描述细节,对所有内容进行汇总,希望比我聪明的人能够弄清楚这一点。我不是程序员,只是一个用户和一个脚本小子,所以这应该是一个相当低的跨越门槛。

多买点内存就可以了,便宜

买一个固态硬盘

交换不好

反正压缩很慢,何苦呢

如果你要说的只是上述任何一句话——走开。因为参数是优化。不管现在的内存多么便宜,它都不是免费的。交换总是需要的,拥有它对系统有好处,这一事实已经被证实了很多年。压缩没什么,即使是“重型”算法在过去十年制造的任何处理器上执行速度也快得愚蠢。最后,当然,如果您使用 SSD,压缩实际上可能会成为瓶颈,但并不是每个人都会优先考虑速度而不是磁盘空间使用,而 HDD 驱动器确实从磁盘压缩中受益匪浅,但仍然非常受欢迎且数量众多,不容忽视。

linux compression swap disk

3
推荐指数
1
解决办法
621
查看次数

在 Linux 上备份到压缩档案

您将如何仅将给定目录的某些文件和子目录备份到压缩存档,以便可以轻松地从该存档重新创建树结构。

基本上,rsync 加上一点脚本(选择我需要的文件和文件夹)就可以完成这项工作,除非我不想只是复制。

我需要一个额外的层来将 rsync 的文件压缩成某种压缩档案(然后可以通过重新创建的路径来恢复)。Rsync 不一定是解决方案的一部分。

例如,我可以挂载一个存档,以便压缩进入该挂载点的所有内容吗?

backup archive compression rsync

2
推荐指数
1
解决办法
407
查看次数

我可以再压缩一个压缩文件吗?

我可以通过 SSH 访问服务器,我通过 SFTP 或 HTTP 从它下载文件。我想拉下一个 4.4GB 的 .mkv 文件,但我的带宽有限。

我使用过zip,gzipp7zip,但压缩过程后文件始终为 4.4GB。在摆弄了一些 CLI 参数后,我设法将文件减小到 4.3GB。我知道我拥有的视频文件是一个压缩的 h.264 文件。我不明白为什么我不能进一步压缩它(也许是另一个 Stack-exchange 论坛的问题)

有什么方法可以在字节级别进行压缩,以便压缩工具不知道文件内容(我认为这些其他工具无论如何都是如此,但它们不起作用)。

也许有其他方法可以使用少于 4.4GB 的内存来拉下这个填充?我没有考虑目标文件大小,但例如 4.3GB 是没有意义的(只有 2-3%~ 少)。

compression

2
推荐指数
2
解决办法
3800
查看次数

在压缩文件上使用`tac`

tac unzipped.log | grep -m1 pattern工作得很好,但我无法tac在压缩文件上使用该命令。

tac zipped.gz | zgrep -m1 pattern 什么都不返回。

tac没有不解压我的文件就可以使用的方法?

grep compression

2
推荐指数
1
解决办法
2740
查看次数

压缩时 Zip 不压缩文件

我在一个目录中递归地压缩了一个文件。但是我注意到最后几个 zip 文件没有被压缩。

  adding: 1.3.12.2.1107.5.1.4.64517.30000014091005511462300042406.dcm (deflated 0%)
  adding: 1.3.12.2.1107.5.1.4.64517.30000014091005511462300042279.dcm (deflated 0%)
  adding: 1.3.12.2.1107.5.1.4.64517.30000014091005511462300042466.dcm (deflated 0%)
  adding: 1.3.12.2.1107.5.1.4.64517.30000014091005511462300042200.dcm (deflated 0%)
  adding: 1.3.12.2.1107.5.1.4.64517.30000014091005511462300042227.dcm (deflated 0%)
  adding: 1.3.12.2.1107.5.1.4.64517.30000014091005511462300042372.dcm (deflated 0%)
  adding: 1.3.12.2.1107.5.1.4.64517.30000014091005511462300042245.dcm (deflated 0%)
  adding: 1.3.12.2.1107.5.1.4.64517.30000014091005511462300042282.dcm (deflated 0%)
Run Code Online (Sandbox Code Playgroud)

谁能解释为什么在使用 zip 时会发生这种情况?

zip compression

2
推荐指数
1
解决办法
2236
查看次数

如何压缩目录及其内容

如何压缩目录及其内容中kshAIX

对于我做的文件 compress filename

ksh compression aix

2
推荐指数
1
解决办法
2万
查看次数

gzip 和 compress 有什么区别?

gzip 和 compress 有什么区别?使用压缩功能有什么好处。我可以看到压缩文件的大小差异,但除此之外还有哪些主要优点?

compression gzip

2
推荐指数
1
解决办法
8288
查看次数

标签 统计

compression ×10

linux ×3

aix ×1

archive ×1

backup ×1

debian ×1

disk ×1

grep ×1

gzip ×1

initramfs ×1

ksh ×1

lz4 ×1

mount ×1

ram ×1

rsync ×1

squashfs ×1

swap ×1

zip ×1