0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

1分钟教你在buildroot系统中使用TRIM

触觉智能 2024-05-21 08:32 次阅读

开源鸿蒙硬件方案领跑者触觉智能

本文适用于支持buildroot 系统的触觉智能开发板。本文以Purple Pi OH为例,触觉智能的Purple Pi OH主板是华为Laval官方社区主荐的一款鸿蒙开发主板。

9aa5fd9c-1709-11ef-bebc-92fbcf53809c.png

9ac7bbee-1709-11ef-bebc-92fbcf53809c.jpg

该主板主要针对学生党,极客,工程师,极大降低了开源鸿蒙开发者的入门门槛,具有以下几点优势:

支持开源鸿蒙/Linux /Andriod 11/麒麟,兼容树莓派 ;

四核A55,最高1.8G主频 Mali G52-2EE GPU ;

支持OpenGL/CL/Vulkan/1T NPU/8MISP ;

支持TensorFlow/MXNet/PyTorch/Caffe ;

支持1*千兆以太网、3*USB2.0、1*USB3.0、3*UART、2*SPI、2*I2C、28*GPIO、1*MIPI DSI、1*HDMI ;

支持OpenHarmony3.2/4.0/4.1版本,开放SDK源代码 ;

活跃的开发者社区, 更多牛人在线技术支持 ;

超小尺寸,极致性价比,只需249元 ;

01Trim简介

在计算机存储领域,TRIM是一种用于固态硬盘(SSD)的命令,它的作用是告诉SSD哪些数据块已经不再被操作系统使用,可以被擦除。这通常发生在删除文件或清空回收站时,操作系统会通知SSD,它不再需要保留这些数据块,SSD可以在将来的垃圾回收过程中安全地擦除这些块。

TRIM命令的主要好处包括:

好处1

性能维护:TRIM有助于维护SSD的性能,因为SSD在写入新数据之前需要先擦除现有的数据。如果操作系统没有通过TRIM告知SSD哪些块是空闲的,SSD的控制器可能会错误地认为某些块仍然包含重要数据,从而避免擦除它们,这会导致写入性能下降。

好处2

寿命延长:TRIM有助于延长SSD的使用寿命。SSD的每个存储单元(或称为“单元”)都有有限的擦写次数。通过有效地回收不再使用的数据块,TRIM减少了SSD不必要的擦写操作,从而延长了SSD的寿命。

好处3

空间优化:TRIM确保了SSD的垃圾回收过程可以更有效地工作,这有助于释放空间,为新数据的写入提供更多可用的存储单元。

好处4

避免写放大:在没有TRIM的情况下,SSD可能会保留已经删除的数据块,直到新数据需要写入时才进行擦除,这可能导致“写放大”现象,即实际写入到SSD的数据量远大于原始数据量。TRIM通过提前标记数据块为空闲,帮助减少这种情况的发生。

在现代操作系统中,如Windows 7及以后的版本、macOS、Linux等,TRIM通常是默认启用的。用户可以通过特定的系统命令或工具来检查TRIM是否启用,以及手动触发TRIM操作。

02在buildroot系统中如何使用Trim

在使用 Buildroot 构建的系统中使用 TRIM 命令主要涉及两个步骤:确保你的文件系统支持 TRIM 操作,以及在系统中启用 TRIM 功能。

以下是如何在 Buildroot 系统中使用 TRIM 的一般步骤:

9ad8e14e-1709-11ef-bebc-92fbcf53809c.png2.1 确保文件系统支持TRIM9ae92928-1709-11ef-bebc-92fbcf53809c.png

大多数现代文件系统(如 ext4、XFS、Btrfs 和 F2FS)都支持 TRIM。

在 Buildroot 的 .config 配置文件中,确保选择了正确的文件系统和支持 TRIM 的选项。


例如,如果你使用的是 ext4 文件系统,确保Buildroot 配置了 CONFIG_EXT4_FS即可使用本功能。


9ad8e14e-1709-11ef-bebc-92fbcf53809c.png2.2 启用TRIM功能9ae92928-1709-11ef-bebc-92fbcf53809c.png

在 Buildroot 构建的系统中,你可以通过以下几种方式启用TRIM:


2.2.2检查当前状态

Fedora Linux 实现了一个每周运行它的 systemd 计时器的服务。要检查其是否存在及当前状态,请运行 systemctl status。

$sudo systemctl status fstrim.timer

执行语句结果如下图所示:

9b132502-1709-11ef-bebc-92fbcf53809c.png

2.2.3启用该服务

现在,启用该服务。

$sudo systemctl enable fstrim.timer

这将在挂载文件系统时启用 TRIM。

03构建系统并测试

最后,你可以通过列出所有计时器来验证该计时器是否已启用。

$ sudo systemctl list-timers --all

执行命令后,会显示出下列行,表明 fstrim.timer 存在。注意,该计时器实际上激活了 fstrim.service 服务。这是实际调用 fstrim 的地方。与时间相关的字段显示为 n/a,因为该服务已启用且尚未运行。9b20b870-1709-11ef-bebc-92fbcf53809c.png

请注意,不同版本的文件系统和操作系统可能有不同的 TRIM 支持细节。务必查阅你所使用的文件系统和操作系统的文档,以获取更详细的指导。此外,对于 SSD 的 TRIM 操作应该小心使用,因为不正确的使用可能会缩短 SSD 的寿命。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    215

    文章

    33945

    浏览量

    248020
  • 硬件
    +关注

    关注

    11

    文章

    2979

    浏览量

    65343
  • 开发板
    +关注

    关注

    25

    文章

    4601

    浏览量

    95108
收藏 人收藏

    评论

    相关推荐

    TL3588-Buildroot系统使用说明(一)

    TL3588-Buildroot系统使用说明(一)
    的头像 发表于 01-25 11:38 755次阅读
    TL3588-<b class='flag-5'>Buildroot</b><b class='flag-5'>系统</b>使用说明(一)

    TL3588-Buildroot系统使用说明(二)

    TL3588-Buildroot系统使用说明(二)
    的头像 发表于 01-25 13:58 557次阅读
    TL3588-<b class='flag-5'>Buildroot</b><b class='flag-5'>系统</b>使用说明(二)

    TL3588-Buildroot系统使用说明(二)

    TL3588-Buildroot系统使用说明(二)
    的头像 发表于 01-25 14:37 576次阅读
    TL3588-<b class='flag-5'>Buildroot</b><b class='flag-5'>系统</b>使用说明(二)

    40分钟教你学会什么是ARM架构

    门老大Chris Shore 做了一个最短小精悍的视频,用40分钟教会大家到底什么是ARM架构,并且ARM公司的Video Team团队帮忙制作了中文字幕,方便大家学习观看。请大家看这里:
    发表于 10-14 16:07

    求助,关于labview实现每隔1分钟数值自动加1的程序

    想做一个程序,读取电脑系统的时间作为时间源,每隔一分钟,让数值自动加1,加到数值为200后,数值变为0,然后重复上面的每隔一分钟1动作,高
    发表于 07-03 16:46

    3分钟教你使用STM32CubeMX配置工程并移植机智云生成的协议

    3分钟教你使用STM32CubeMX配置工程并移植机智云生成的协议
    发表于 09-29 15:13

    定时器1分钟后损坏

    你好,我将一个LED连接到一个LED上,我想设置LED闪烁1秒,闪烁。但是1分钟后LED停止工作,PWM也开始工作。即使我让我的代码闪烁1分钟
    发表于 11-13 16:58

    为什么从TF卡启动板子后板子隔1分钟左右就要重启?

    从TF卡启动板子后,为什么板子隔1分钟左右就要重启,而且不停的重启??
    发表于 10-14 01:58

    如何使用buildroot编译构建系统

    如何使用buildroot编译构建系统
    发表于 12-28 07:14

    buildroot构建根文件系统报错是什么原因

    buildroot构建根文件系统报错:xtyc@ubuntu:~/work/buildroot-2019.02.9$ sudo make>>>
    发表于 01-07 07:13

    使用Buildroot构建根文件系统的方法简析

    1、怎么使用Buildroot构建根文件系统?  制作根文件系统有归多种方法:  使用Busybox手工制作  Busybox本身包含了很了Linux命令,但是要编译其他程序的话需要手
    发表于 11-04 15:41

    分钟教你如何辨别波峰焊和回流焊

    分钟教你如何辨别波峰焊和回流焊PCB加工中波峰焊和回流焊常被提起,那么这两种工艺有什么区别, 除了回流焊和波峰焊,真空回流焊和选择性波峰焊的优势又有哪些?回流焊应用于smt加工中,加工流程可以
    发表于 04-15 17:35

    如何定制Buildroot文件系统-基于TQT507开发板

    本文档介绍开发时 如何定制文件系统 (buildroot添加应用软件/文件),适用于天嵌开发板TQT507 。 **1.Buildroot简介**
    发表于 06-01 09:03

    Core PX3 SEJ固件Buildroot系统

    电子发烧友网站提供《Core PX3 SEJ固件Buildroot系统.txt》资料免费下载
    发表于 09-16 10:42 0次下载
    Core PX3 SEJ固件<b class='flag-5'>Buildroot</b><b class='flag-5'>系统</b>

    瑞芯微RK3568|SDK开发之Buildroot编译

    Buildroot查询帮助查看buildroot的详细编译命令,如下所示。图1.1编译文件系统以上命令为,配置buildroot对应的默认配置defconfig,然后编译。注:
    的头像 发表于 10-08 10:38 1077次阅读
    瑞芯微RK3568|SDK开发之<b class='flag-5'>Buildroot</b>编译