SSD写数据会泛起什么问题
SSD读写的单元不是位,而是一个块。若是要改变这个块中的一位,首先要将整个块擦写成1,然后再写入更新的数据。
为领会决擦写块的低效,SSD的计谋是将需要改写的块,读取出来,举行数据修改,然后写入到新的,已经擦除完的块中。
新的SSD,没用的块许多,无需擦写,直接写入,性能很高。随着使用量增添,当写入时无可用块时,则只能先擦写再写入。此时SSD性能很差。
理论上,SSD内部定期将垃圾块举行接纳擦写,然则SSD无法确认哪些数据是需要接纳的。
解决问题的思绪
针对SSD使用时间越长可用块变少以致于性能变差,可以让SSD“知道”哪些块可以接纳,从而提前擦写垃圾块,以提升性能。
那么怎么做呢?注释这个问题需要先领会文件系统是若何“删除文件”的。
文件系统只是将文件头作一个已删除的符号,解释文件被删除了,即没有真正删除文件,只是标识删除。(Linux下真正删除的时机可能是写满、ramdisk、断电等时刻,此处不作深究)
SSD 具有一种称为 TRIM 的功效。从本质上讲,这是一种用于接纳装备上未使用的块的方式,该块可能先前已被写入,但不再包罗有用数据,因此可以返回到通用存储池以供重用。
TRIM就是这种“见告”SSD:“这些文件(块)已经删除了,你可以提前擦写以提高性能!”
经由众多资料的洗礼,我发现TRIM好像并非有想像中那么好,由于开启TRIM功效后,每次删除文件是真正的删除,SSD就可能去接纳那些垃圾块,会降低SSD的性能!
解决之法是准时TRIM,而Systemd治理的Linux系统中都有一个下令 fstrim
,就是作TRIM操作,可以用于通俗SSD与NVMe
一次清算垃圾块的操作:(释放了这么多,难怪满了)
sudo fstrim --fstab --verbose
Systemd治理的系统有一个专用的fstrim服务与准时器,开启准时器方式:
#查看fstrim准时器状态
sudo systemctl status fstrim.timer
#开启fstrim准时器自启
sudo systemctl enable --now fstrim.timer
#列出timer准时器列表
sudo systemctl list-timers --all
以上就是本文内容。
引文:
- 在 Linux 下使用 fstrim 延伸 SSD 驱动器的寿命
- 什么!NVMe不支持TRIM?你不会搞错了吧...
- Linux文件系统和inode
欢迎进入Allbet Gmaing代理(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。
网友评论
最新评论
联博接口www.326681.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。我好爱这篇怎么办
@Allbet开户
跟追剧一样,刺激同日,亚利桑那州凤凰城一个购物中心发生枪击事件,造成1人死亡,8人受伤。凤凰城市长在社交媒体上发文称,“现在必须改变”。很好的桥段
菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。发现一篇宝贝文!
@皇冠登三出租(www.huangguan.us) 真心实意推荐了