首页 > 系统相关 >Linux如何使用trim命令保持SSD的读写速度

Linux如何使用trim命令保持SSD的读写速度

时间:2023-07-22 16:14:54浏览次数:42  
标签:trim TRIM 写入 fstrim cron Linux SSD 硬盘

随着硬盘技术的不断发展何固态硬盘的大量使用,你肯定听说过或者使用过固态硬盘,固态硬盘(或固态硬盘)能够达到比传统硬盘更快的读取和写入数据的速度,您可能不知道的是,随着时间的推移,当磁盘写满时,SSD硬盘在数据写入时可能会失去一些速度,如果您为了速度而在服务器中运行SSD,那么就可以使用TRIM来保持SSD运行速度到最佳状态。

为什么SSD会慢下来?

首先让我们看看为什么会出现这个问题,这与SSD如何写入数据到存储有关。SSD将数据存储在固定大小的块中,称为面。然后将这些面安排在称为块的较大组中,虽然SSD可以单独读取和写入面,但它们只能擦除数据块而不是单个面,与可以毫无问题地覆盖数据块的硬盘驱动器不同,SSD需要在将新数据写入内部面之前将块中的数据擦除,这就是问题所在,因为操作系统和文件系统的设计使得如果删除文件,则使用的文件被标记为可用于文件系统的写入,但这些块中的数据保留到位,直到新数据写在上面,这是取消删除和文件恢复工具用于从磁盘中拯救已删除文件的原则。

如何使用TRIM擦除SSD数据块

这就是TRIM的用武之地,TRIM是内置于SSD的ATA命令集中的命令,它是磁盘与计算机接口的一部分,操作系统能够向磁盘发送TRIM命令,让它知道哪些块是已删除文件的一部分,并允许SSD在需要写入块之前擦除块,虽然操作系统能够在每次删除文件系统上的文件时发信号通知驱动器擦除这些部分,但这也会对性能产生影响并减慢速度,因此建议按计划运行TRIM以间歇性地清除块。

fstrim 是一个在 Linux 系统中用来回收闲置的或未使用的磁盘空间的工具。它主要应用在使用了 SSD(Solid State Drive,固态硬盘)的系统上。
具体来说,当你在 SSD 上删除一个文件时,操作系统并不会立即把这部分磁盘空间标记为可用,而是留到下次需要写入数据时再进行清理。这可能会影响 SSD 的写入性能。
fstrim 就是为了解决这个问题,通过定期运行 fstrim ,操作系统可以通知 SSD 这部分是哪些空间是未使用的,从而让 SSD 提前进行清理并回收空间,帮助提高 SSD 的写入性能。
所以,fstrim 的主要作用就是提高 SSD 的写入性能和延长其使用寿命。

sudo fstrim -a -v

-a标志告诉fstrim检查所有可用的有效分区,-v标志提供一个详细输出,显示fstrim已完成的操作。您应该看到命令的输出以查看事情的进展情况,如果获得正输出,则可以查看将命令添加到cron条目中,请注意,对于从14.10开始的Ubuntu系统,fstrim已经默认配置,您应该找到一个用于在/etc/cron.weekly/fstrim进行调度的脚本,以便为您激活它。

如果您的系统上不存在该文件,则需要使用以下命令创建它:

sudo nano /etc/cron.weekly/fstrim

然后粘贴以下代码:

#!/bin/bash

/sbin/fstrim -a || true

保存并退出该文件,然后使用以下命令使其可执行:

sudo chmod +x /etc/cron.weekly/fstrim

fstrim命令现在将由cron在您的系统上每周运行一次。如果您的系统发生了大量文件删除,那么通过每天运行fstrim命令可能会看到更多好处,为此,请将文件从/etc/cron.weekly目录移动到/etc/cron.daily目录。

标签:trim,TRIM,写入,fstrim,cron,Linux,SSD,硬盘
From: https://www.cnblogs.com/linhaostudy/p/17573508.html

相关文章

  • linux 中 产生随机数
     001、$RANDOM;$RANDOM用于生成0—32767的随机数[root@PC1test05]#echo$RANDOM21160[root@PC1test05]#echo$RANDOM17006[root@PC1test05]#echo$RANDOM3979 002、产生0到2的随机数[root@PC1test05]#expr$RANDOM%32[root@PC1test05]#expr$RANDOM......
  • Linux 用户和用户组管理
    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提......
  • Linux权限详解
    一、文件、目录权限和所有者简介:用户对一个文件或目录具有访问权限,这些访问权限决定了谁能访问,以及如何范围这些文件和目录。通过设置权限可以限制或允许以下三种用户访问:文件的用户所有者(属主)文件的组群所有者(用户所在组的同组用户)系统中的其他用户在linux系统中,每一位用......
  • Linux shell中提取文件名和路径
    本文地址:https://www.cnblogs.com/wanger-sjtu/p/17561896.html首先假设我的文件全称:/home/luna/Desktop/Software/softHLA/HLAreporter.v103/HLAreporter.sh.获取文件名使用${},${str##*/}这个命令的作用就是去掉变量str从左边算起的最后一个/字符及其左边的内容,返回的值是从......
  • linux找回root密码
    1、重启linux系统,移动光标至图中位置,然后按'e'键2、找到linux16...,将光标移至段落最后3、输入init=/bin//sh,然后ctrl+x,进入单用户模式 4、输入mount-oremount,rw/然后回车注意每个单词之间都有空格5、输入passwd,然后输入密码(不少于8位)6、输入touch/.aut......
  • Linux 安装常用工具,必备
    Linux安装常用工具,必备刚装的CentOS,有些工具有,有些没有,所以我会习惯性地装如下工具、yuminstalliprouteftpbind-utilsnet-toolswget-y其中:iproute用来执行ipaddress查看本机地址ftp用来测试ftp服务器bind_utils用来运行nslookupnet-tools用来执行ne......
  • linux java启动脚本示例
    start.sh#!/bin/bashnohup/usr/jdk1.8.0_102/bin/java-jar-Xms400m-Xmn200m-Xmx500m-Dtwasp.config.uri=http://192.168.128.132:9300/configs-Deureka.client.serviceUrl.defaultZone=http://192.168.128.132:9100/eureka/-Deureka.client.register-with-eureka=t......
  • linux常用命令
    转载文章作者:Gallifrey文章链接:https://gallifrey.asia/posts/fb2c02db1a9f/ 前言本文是视频教程韩顺平一周学会Linux部分章节的归纳总结,内容补充和错误纠正。概述Linux命令是一组用于在Linux操作系统上执行特定任务的命令。这些命令可以在终端窗口中使用,也可以通过......
  • linux 常用的命令
    linux常用命令防火墙相关命令安装防火墙yum-yinstallfirewalldfirewall-config防火墙生命周期管理1、为了启动防火墙,要先重启下dbus..systemctlrestartdbus2、然后通过如下命令进行防火墙生命周期管理启动一个服务:systemctlstartfirewalld.service关闭一个......
  • linux 中 根据制定列标签展开为两列以及依据两列信息进行合并
     001、[root@PC1test05]#lsresult.txt[root@PC1test05]#catresult.txt##测试数据223669237092235172369632351523708323556237134234762371142362223720......