标签: trim

使用开始和停止时间修剪音频文件

我有一个 FFmpeg 命令来修剪音频:

ffmpeg -ss 01:43:46 -t 00:00:44.30 -i input.mp3 output.mp3
Run Code Online (Sandbox Code Playgroud)

我使用此命令的问题是该选项-t需要从01:43:46 开始的持续时间(以秒为单位)。我想使用开始/停止时间修剪音频,例如在01:43:4600:01:45.02 之间

这可能吗?

ffmpeg audio trim

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

SSD:我应该多久做一次 fstrim?

有不同的来源,建议采用不同的做法。我发现以下建议应该多久运行一次 fstrim。

  • 每周由 cron 运行
  • 每天由 cron 运行
  • 在每次启动时运行

什么是最佳选择,为什么?Ubuntu 14.04 默认使用第一个选项。

ssd trim

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

使用 LVM 和 dm-crypt 进行修剪

我尝试按照本教程在 ubuntu 13.04 上使用 LVM 和 dm-crypt 设置 TRIM:

http://blog.neutrino.es/2013/howto-properly-activate-trim-for-your-ssd-on-linux-fstrim-lvm-and-dmcrypt/

请参阅下面有关我的配置和测试程序的说明。

问题

  1. 如果 TRIM 工作正常,是否有可靠的测试?

  2. 是我的测试程序错误还是我的 TRIM 不起作用?

  3. 如果它不起作用:我的设置有什么问题?

  4. 如何为我的设置调试 TRIM 并使 TRIM 工作?

配置

这是我的配置:

cat /etc/crypttab

sda3_crypt UUID=[...] none luks,discard
Run Code Online (Sandbox Code Playgroud)

cat /etc/lvm/lvm.conf

# [...]
devices  {
      # [ ... ]
      issue_discards = 1
      # [ ... ]
   }
# [...]
Run Code Online (Sandbox Code Playgroud)

SSD 是三星 840 Pro。

这是我的测试程序

为了测试我刚刚做的设置sudo fstrim -v /,结果

/: [...] bytes were trimmed

再次执行此操作的结果/: 0 bytes were trimmed似乎是有道理的,并表明 TRIM 似乎有效。

但是后来我做了这个测试:

dd …

ssd lvm dm-crypt troubleshooting trim

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

如何从文件的开头和结尾修剪字节?

我有一个文件,在文件的开头和结尾都有垃圾(二进制页眉和页脚)。我想知道如何核对这些字节。例如,让我们假设从一开始就有 25 个字节。并且,距离末尾有 2 个字节。

我知道我可以使用 truncate 和 dd,但是 truncate 不适用于流,而且在硬文件上运行两个命令似乎有点笨拙。如果truncate知道文件有多大,可以将文件转换为dd. 或者,如果有更好的方法来做到这一点?

files trim byte

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

独立验证TRIM确实适用于SSD

我有一个luksOpen的LUKS分区:/dev/sda1--allow-discards

cryptsetup --allow-discards luksOpen /dev/sda1 root
Run Code Online (Sandbox Code Playgroud)

然后我ext4使用discard选项挂载文件系统:

grep /dev/mapper/root /proc/mounts
/dev/mapper/root / ext4 ro,relatime,block_validity,discard,delalloc,barrier,user_xattr,acl 0 0
Run Code Online (Sandbox Code Playgroud)

然后我修剪已安装分区上的可用空间:

fstrim -v /
Run Code Online (Sandbox Code Playgroud)

df,我看到/有80%的可用空间。这意味着在 上/dev/sda1,磁盘的 80% 是二进制零。

如果我克隆图像 cat

cat /dev/sda1 > sda1.img
Run Code Online (Sandbox Code Playgroud)

并使用 压缩图像xz,我希望磁盘上的所有零都被压缩。由于磁盘上 20% 的数据是加密的,因此它看起来应该是随机的并且是不可压缩的。因此,xz 压缩的图像应该是近似的。原始尺寸的 20%。

但是,生成的 xz 压缩图像与原始原始图像的大小大致相同。

我的推理正确吗?

为什么我的理论没有转化为实践?

ssd ext4 cryptsetup trim fstrim

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

用于修剪驱动器上未分配空间的实用程序

我有一个带有几个 ext4 分区的驱动器(SD 卡),但还有一些未分配的空间。该fstrim实用程序只能在文件系统中工作。在我重新发明轮子并编写一个之前,是否有另一种实用程序可以修剪未分配的空间(或者可以修剪明确指定的范围)?

我可以验证控制器当前知道设备上的大部分未分配空间是否可用,正如我观察到的那样,在这张特定的卡上,读取到修剪过的空间返回 0,但设备的扫描显示留下了大量的垃圾数据。

编辑:我在使用hdparm. 下面的示例丢弃了第一个扇区,但无论我指定的范围如何,我都会看到相同的结果。fstrim设备上没有问题:

root@ubuntu:~# hdparm --please-destroy-my-drive --trim-sector-ranges 0:1 --verbose /dev/mmcblk0 

/dev/mmcblk0:
trimming 1 sectors from 1 ranges
outgoing cdb:  85 0d 06 00 01 00 01 00 00 00 00 00 00 40 06 00
outgoing_data:  
00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
Run Code Online (Sandbox Code Playgroud)

partition sd-card trim

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

如何判断 Linux 块设备是否可修剪?

fstrim需要挂载Linux块设备,而且不是很冗长。blkdiscard可以看出,但这也需要写操作。

我能否以某种方式判断块设备是否支持修剪/丢弃,而不实际尝试修剪/丢弃其上的某些内容?

linux block-device trim

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

格式化我的驱动器会修剪我的 SSD 吗?

标准的全新 linux(确切地说是 Ubuntu 11.10)会安装并重新格式化(完整)我的 SSD,还是我需要做一些额外的事情?

我知道当我指定discard选项时,ext4 会在擦除时修剪块,但如果可能的话,我想从完全修剪过的驱动器开始。

ssd ext4 trim mkfs

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

即使分区挂载有丢弃,fstrim 也会修剪超过一半的分区大小

当我安装我的 SSD 时,我只是安装了discard它,并没有出汗。然而,今天我正在阅读有关使用它的利弊的信息,fstrim并决定运行该程序以了解实际需要多长时间(仍然使用 安装我的分区discard)。该命令在我的根分区和主分区上都花费了几分钟。对于我的主分区,我使用-v并得到了这个:

$ sudo fstrim -v /home
/home: 137494052864 bytes were trimmed
Run Code Online (Sandbox Code Playgroud)

这比分区上的可用空间量还多!

$ df -h /home
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       206G   78G  118G  40% /home
Run Code Online (Sandbox Code Playgroud)

随后的运行在不到一秒的时间内完成,例如:

$ sudo fstrim -v /home
/home: 0 bytes were trimmed
Run Code Online (Sandbox Code Playgroud)

当然,如果我一直用 挂载分区discardfstrim不应该像这样修剪大量数据吗?该discard选项肯定已启用,以下是相关fstab行:

UUID=xxxxxxxx...    /          ext4   noatime,discard,errors=remount-ro  0      1
UUID=xxxxxxxx...    /home      ext4   noatime,discard,errors=remount-ro  0      2
Run Code Online (Sandbox Code Playgroud)

mount输出行:

/dev/disk/by-uuid/xxxxxxxx... on / type …
Run Code Online (Sandbox Code Playgroud)

linux filesystems fstab trim

9
推荐指数
1
解决办法
9115
查看次数

如何检查我的 SSD 是否支持 fstrim?

我正在使用 Linux 服务器,想知道是否有办法可以确定我的 SSD 是否支持 fstrim。我尝试过hdparm -I /dev/sda,但它不可用,我无法安装它。我还有其他方法可以做到吗?任何帮助表示赞赏。谢谢!

我也很想知道如果我在不支持修剪的设备上运行 fstrim 会发生什么?它会导致无操作吗?

linux ssd trim fstrim

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