如何延长SSD和SD卡的使用寿命和性能

ssd固态驱动器和sd卡的写入次数是有限的。为了充分利用这种存储类型,我们需要进行一些调整以最大限度地延长 ssd 和 sd 卡的使用寿命和性能。
iotop 命令监控读/写iotop全称input/output top是一个linux命令,用于显示和监控linux磁盘io的详细信息,也可以获取进程io的使用情况。
它产生类似于top命令的输出。它通常需要root权限才能运行。系统管理员使用它来跟踪可能导致高磁盘i/o读/写的进程。
可以使用您的linux发行版的包管理器安装iotop命令,安装完成后运行命令iotop-opa监控磁盘的io详细信息。
sudo apt install iotop #denbiansudo yum -y install iotop #centos fedoraiotop -opa然后让iotop命令监控几分钟或几小时,具体取决于磁盘i/o使用的强度。使您可以轻松识别占用磁盘i/o的进程即可。
对于非必要的进程,可以禁止自动启动,对于必须的进程可以选择优化程序减少对磁盘io的请求。
例如我们在文章linux 性能:磁盘i/o是否降低应用程序性能提到的优化mysql减少对磁盘io的读写。
使用mount 命令的noatime挂载选项在etc/fstab文件中使用mount命令的noatime选项停止记录文件系统的读取访问时间。
mount命令noatime选项消除了系统对读取文件时进行时间戳写入的需要。由于写入成本非常高,这通常会带来可观的性能提升。
etc/fstab文件是文件系统的静态挂载表,它包含挂载文件系统的描述信息。当系统启动时系统将会读取此文件挂载设备。
请使用你喜欢的文本编辑器编辑etc/fstab。在本教程中我们使用vim编辑文件etc/fstab,修改完成后保存文件并退出vim。
sudo vim etc/fstab/dev/sdx / ext4 discard,noatime,errors=remount-ro 0 1etc/fstab
将临时目录挂载为tmpfstmpfs全称temporary file system,是unix/linux操作系统中实现的临时文件存储规范。
它虽然是一个可挂载的文件系统,但数据存储在内存中,而不是持久性存储设备中。
tmpfs文件系统的结构类似于ram磁盘,它显示为虚拟磁盘驱动器并托管磁盘文件系统。
如果您的系统有足够的内存,您可以将一些临时目录挂载为tmpfs。这将会减少对ssd的不必要写入。请使用你喜欢的文本编辑器,再次编辑etc/fstab。
以下etc/fstab文件会将tmpfs设备挂载在/tmp和/var/tmp目录,最后还使用noatime挂载选项减少写入。
sudo vim etc/fstabtmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0etc/fstab
避免频繁使用交换空间这是对使用交换分区的系统,对ssd和sd卡推荐的调整。这将减少系统的swappiness值,从而减少磁盘i/o操作。
在降低系统的swappiness值之前请先阅读教程linux性能:为什么你应该添加交换空间swap。
如果您有足够的可用内存并了解风险,则可以完全避免添加交换空间或使用交换空间。
您还可以使用systemd-swap仅在必要时启用自动交换。另外阅读zram-generator或zram-swap。
如果需要降低swappiness值,请在debian/ubuntu/red hat/centos使用vim编辑器修改etc/sysctl.conf文件。
sudo vim etc/sysctl.confvm.swappiness=10减少日志写入禁用apache、nginx、邮件服务器和其它服务的访问日志。系统稳定后,您可以将系统日志级别从info降级到warn或者error级别。
或者,如果你不在意丢失日志文件,甚至可以将tmpfs临时文件系统挂载在/var/log目录。
请再次使用你喜欢的文本编辑器,编辑etc/fstab文件添加以下挂载tmpfs设备的描述信息。
sudo vim etc/fstabtmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0将更多具有大量i/o的目录挂载到tmpfs例如,将wordpress 缓存目录从磁盘挂载到tmpfs。运行命令tmpfs /full/path/to/wp-content/cache tmpfs defaults, size=1g 0 0。
tmpfs /full/path/to/wp-content/cache tmpfs defaults, size=1g 0 0profile-sync-daemon 仅适用于桌面如果您没有优化web服务器并使用firefox、chrome等,请安装profile-sync-daemon。
profile-sync-daemon (psd) 是一个小型伪守护程序,旨在管理您在tmpfs中的浏览器配置文件,并定期将其同步回您的物理磁盘hdd或者ssd。
i/o 输入输出调度器考虑从cfq切换到noop或deadline,两者都在ssd和sd卡上提供更好的性能。要查看当前使用i/o调度器。
请运行命令cat /sys/block/sdx/queue/scheduler。记得将替换sdx替换为你的ssd设备的名称,x不是磁盘分区,例如是sda,sdb。
例如命令echo deadline | sudo tee /sys/block/sda/queue/scheduler修改i/o 输入输出调度器为deadline。
cat /sys/block/sdx/queue/schedulerecho deadline | sudo tee /sys/block/sda/queue/schedulertrimtrim允许linux丢弃ssd不再使用的数据块。因此删除文件时,ssd可以将数据写入块,而无需执行繁琐的删除过程。
从本质上讲,trim可确保你的ssd的性能不会因为使用久后而导致性能降低太多。
要在linux启用trim。首先请检查etc/fstab文件确认你已为ssd设备使用挂载选项discard。运行命令cat etc/fstab。
然后检查您的ssd或sd卡是否支持trim,运行命令sudo hdparm -i /dev/sdx | grep trim supported,sd的x不是磁盘分区,例如是sda,sdb。
sudo hdparm -i /dev/sdx | grep trim supportedsudo systemctl status fstrim.timersudo systemctl enable fstrim.timersudo systemctl start fstrim.timer● fstrim.timer - discard unused blocks once a week loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled) active: active (waiting) since sun 2023-01-01 21:43:57 hkt; 1h 16min left trigger: mon 2023-01-02 00:00:00 hkt; 3h 32min left triggers: ● fstrim.service docs: man:fstrimjan 01 21:43:57 myfreax systemd[1]: started discard unused blocks once a week.进一步提高ssd和sd卡的性能/寿命使用更大的sd卡。 写入根据存储大小扩展,因此存储越大,重复写入相同区域的次数越少,意味着磨损越少。
最后一分钱一分货,便宜的ssd和sd卡通常不会使用长久,也不会有那么好的性能。
要检查ssd和sd卡的寿命,请运行命令sudo smartctl -a /dev/sdxx,sdxx是你ssd/sd卡的分区在。
要关注ssd的寿命可以只看行smart overall-health self-assessment test result: passed。或者运行命令sudo smartctl -h /dev/sdb4。
sudo yum install smartmontools -ysudo apt-get install smartmontools -ysudo smartctl -a /dev/sdxxsmartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.15.0-56-generic] (local build)copyright (c) 2002-19, bruce allen, christian franke, www.smartmontools.org=== start of information section ===model family: samsung based ssdsdevice model: samsung ssd 850 evo 120gbserial number: s21vnsag415755blu wwn device id: 5 002538 da024519bfirmware version: emt01b6quser capacity: 120,034,123,776 bytes [120 gb]sector size: 512 bytes logical/physicalrotation rate: solid state devicedevice is: in smartctl database [for details use: -p show]ata version is: acs-2, ata8-acs t13/1699-d revision 4csata version is: sata 3.1, 6.0 gb/s (current: 6.0 gb/s)local time is: sun jan 1 20:35:52 2023 hktsmart support is: available - device has smart capability.smart support is: enabled=== start of read smart data section ===smart overall-health self-assessment test result: passed

荣泰K10大白联名款颈椎按摩仪:拯救“危脖”的福星
生物毒性实验室仪器的检测原理是什么
太阳能产业或将复苏 预计明年增长50%
使用DIC技术测量碳化硅SiC纤维束丝的力学性能—测试过程详解
第二代雷蛇游戏手机或搭载骁龙845
如何延长SSD和SD卡的使用寿命和性能
电磁兼容设计注意的问题
企业赚大钱的好帮手:人工智能电销机器人
一体成型电感顺势登上了历史的舞台
VIVE全新VIVE COSMOS VR眼镜究竟如何
场外交易模式数字资产交易所开发
ARM Cortex-A55: 从端到云实现高效能
AI服务器中关于PCB构成的深度分解
Micro LED将向AR/VR领域进发
构建“中台”背后的商业底层逻辑到底是什么
煤矿人员精确定位系统融合组网新技术
苹果新专利:iPhone8曲面屏功能性完爆三星
台积电继续领先5纳米 苹果将会是5纳米第一个客户
智能家居为什么即将要爆发
一文汇总4种流行的机器学习算法