标签: ssd

磁盘使用混乱:SSD 上的 Linux 主分区缺少 10G

Linux Mint 告诉我,我只有 622 MB 的可用磁盘空间,但应该还有一些千兆字节。

查看分区,我被告知大约有 10 GB 未使用。我用谷歌搜索了这个问题并没有找到解决方案,但我确实找到了我应该使用df -h.

sudo df -h /home
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p8  189G  178G  622M 100% /home
Run Code Online (Sandbox Code Playgroud)

输出对我来说没有任何意义:Size和之间的差异Used是 11GB,但它只显示622M为可用。

SSD 不旧,所以我不希望有这样的差异。

我该怎么办?

linux ssd disk-usage

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

“dd”是制作 SSD 映像的可靠工具吗?

我想使用 Linuxdd命令备份我的 SSD ,但我不确定该方法的可靠性。我想我读过的地方dd没有检查或报告错误,所以很明显,如果是真的,那么这将是一个交易破坏者。

这将是命令:

sudo dd status=progress bs=512K if=/dev/nvme0n1 of=/media/d/ssd.img

因此,请解释该dd命令对于所述用例的可靠性。

而且,有没有更可靠和/或更简单的替代方案?

backup ssd dd hard-disk

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

SSD nukes 系统性能上的大量写入活动

我注意到当我编写大量应用程序时,整个系统会变慢。为了进一步测试,我运行它来执行(相对)低 CPU、高磁盘活动:

john -incremental > file_on_SSD
Run Code Online (Sandbox Code Playgroud)

这会每秒向我的系统磁盘上的文件中输出数万个字符串。

当它这样做时,鼠标滞后,TTY 变得无响应,应用程序“消失”并且通常整个计算机变得无法使用。当我最终可以 Control+C 时john,系统会在几秒钟后恢复到最大强度。

这是一个极端的例子,但我也有类似的问题,比如从快速源复制大文件或转码等写入密集型活动略少。

我的主操作系统磁盘是一个非常快的 SSD(OCZ Agility 60GB),带有 EXT4。如果我john使用 EXT4将的输出写入机械磁盘,我不会遇到同样的减速,尽管速度要慢得多(SSD 每秒执行约 42,000 个字,机械执行 8,000 w/s)。吞吐量可能是相关的。机械盘也与系统无关。这只是数据。

我使用的是 2.6.35-2 内核,但自从我得到这个 SSD 以来我就注意到了这个问题,当时我可能正在使用 .31 或大约那个时候的东西。

那么是什么导致了放缓?EXT4问题?内核问题?固态硬盘问题?上述所有的?还有什么?

如果您认为我需要运行额外的测试,只需发表评论告诉我该怎么做,我会将结果附加到问题中。

performance kernel io ssd

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

md 上的 bcache 或 bcache 上的 md

bcache允许一个或多个快速磁盘驱动器(例如基于闪存的固态驱动器 (SSD))充当一个或多个较慢硬盘驱动器的缓存

如果我理解正确,

  • 可以分配一个 SSD *来缓存多个后备 HDD,然后可以使用 mdadm
    或对生成的缓存设备进行 RAID
  • 多个 HDD 可以 RAID 到一个单一的支持 md 设备和分配给缓存的 SSD

我想知道哪种方法更明智。我突然想到,使用一种或其他技术增加 RAID5/6 可能更简单,但我不确定是哪一种!

选择一种方法而不是另一种方法(对于包含 VM 后备文件的大型非根文件系统)是否有充分的理由(例如增加后备存储或其他任何东西)?


* “一个 SSD”是指某种冗余 SSD 设备,例如两个物理 SSD 的 RAID1

linux ssd block-device bcache

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

独立验证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
查看次数

Linux 如何知道它的交换分区在哪里?

我读过您需要将交换分区放在 HDD 而不是 SSD 上。

我的问题如下:

  • 发行版(或其他东西)何时以及如何进行“检查”以找到其 Swap 分区?
  • 开机时会出现这种情况吗?
  • 它只是检查所有可用磁盘并搜索带有“交换”标志的分区?
  • 如果有几个这样的分区会发生什么?
  • 另外,如果我在同一个磁盘上运行两个不同的发行版,比如说 Fedora 和 Ubuntu,我需要有多少个交换分区?

boot ssd swap

13
推荐指数
3
解决办法
6901
查看次数

更新三星 840 Pro 固件

我有一个三星 840 PRO 系列 SSD,想更新它的固件,以便为这个问题找到替代解决方案。

我从这个页面下载了“Samsung Magician Software for Enterprise SSD”,因为三星只为 Windows 的消费者 SSD 提供魔术师。根据此 reddit 帖子的最高回复,它应该可以工作。

然而,在试图确定我的 SSD 的 ID 时,魔术师声称没有找到三星 SSD,尽管目前连接到我的笔记本电脑的唯一存储介质是第一段中提到的 SSD。

# ./magician -L
================================================================================================
Samsung(R) SSD Magician DC Version 2.0
Copyright (C) 2015 SAMSUNG Electronics Co. Ltd. All rights reserved.
================================================================================================
Magician is now configuring the environment for LSI MegaRAID SAS.
Magician is now configuring the environment for LSI SAS IT/IR Controller.
Magician is now configuring the environment for LSI …
Run Code Online (Sandbox Code Playgroud)

ssd firmware samsung

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

如何使用 SSD 进行缓存,使我的硬盘转速下降?

我有一个文件服务器,其中有一堆磁盘在 BTRFS 池中一起运行,并且想要添加一个 SSD 进行缓存。我主要不是在加快速度之后,而是想捕捉常规的小访问,以便能够在大部分时间关闭硬盘而不是大量使用(不运行它们 24/7 将节省能源,并且应该使磁盘使用寿命更长)。

据我所知,目前在 Linux 中实现了两种 SSD 缓存技术,dm-cache 和 bcache。dm-cache 仍然被告知效率更高,但两者的开发正在进行中,我不需要调整绝对最大效率。

阅读bcache 的文档,我想到了这些选项:

writeback_delay:当脏数据写入缓存并且之前不包含任何内容时,在启动回写之前等待几秒钟。默认为 30。

writeback_percent:如果非零,bcache 会尝试通过限制后台回写和使用 PD 控制器平滑调整速率来保持缓存脏的这个百分比。

writeback_running:如果关闭,则根本不会发生脏数据的写回。脏数据仍然会被添加到缓存中,直到它大部分满为止;仅用于基准测试。默认为开。

writeback_delay为我设置一个足够大的值似乎可以完成这项工作:每小时只回写一次,或者(我认为这会发生)如果缓存已满。

这是一个合理的设置,我是否考虑过其他任何方法来成功降低磁盘转速?如果它满足我的要求,我也可以走完全不同的路线。

@gorkypl 似乎正在寻找针对类似问题的另一种解决方案,但具有不同的要求和环境,并且还没有收到答案。

linux cache ssd hard-disk bcache

10
推荐指数
1
解决办法
2308
查看次数

8G RAM 和 SSD - 交换应该有多大?

我有一台带有 8G RAM 和 128G SSD 的计算机。我不打算冬眠。你会推荐什么交换大小?你会改变任何交换吗?

在不久的将来,我会编译程序(甚至内核),运行一些虚拟机(至少为系统留出 5G 空闲空间),也许偶尔会玩一些游戏。

linux ssd swap

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

fstrim 似乎没有修剪使用 lvm 和 dm-crypt 的分区

我尝试使用 dm-crypt 和 LVM 设置 Fedora 25,但很难使 TRIM 工作。

$ sudo fstrim -av                                                                            
/boot: 28.6 MiB (30003200 bytes) trimmed
/: 56.5 GiB (60672704512 bytes) trimmed

$ sudo fstrim -av                                                                            
/boot: 0 B (0 bytes) trimmed
/: 56.5 GiB (60671877120 bytes) trimmed
Run Code Online (Sandbox Code Playgroud)

从上面的输出中可以看出,重复运行fstrim在未加密的ext4 上有效 /boot,但似乎对/(在同一磁盘上)没有影响。

设置是 SSD -> dm-crypt -> LVM -> XFS

$ lsblk -D                                                                                                                                                                                     
NAME                                          DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda                                                  0      512B       2G         0
??sda2                                               0      512B       2G         0
? ??luks-dd5ce54a-34c9-540c-a4cf-2a712b8a3a5e        0      512B …
Run Code Online (Sandbox Code Playgroud)

ssd lvm dm-crypt xfs fstrim

10
推荐指数
1
解决办法
4726
查看次数

标签 统计

ssd ×10

linux ×4

bcache ×2

fstrim ×2

hard-disk ×2

swap ×2

backup ×1

block-device ×1

boot ×1

cache ×1

cryptsetup ×1

dd ×1

disk-usage ×1

dm-crypt ×1

ext4 ×1

firmware ×1

io ×1

kernel ×1

lvm ×1

performance ×1

samsung ×1

trim ×1

xfs ×1