当前位置: 首页 > news >正文

smartctl 设置硬盘的 write-caching

sg3

一、sg3查看缓存状态

您可以使用sg_modes命令来查看SAS盘和SATA盘的缓存状态。例如,要查看/dev/sdb设备的缓存状态,您可以执行以下命令:

sg_modes -p 8,0 /dev/sdb

二、sg3关闭机械盘写缓存状态(仅适用于SAS盘)

对于SAS盘,您可以按照以下步骤更改其读写缓存状态:

1、编辑缓存状态

使用vi编辑器创建或编辑一个名为mode_page.dat的文件,并设置适当的缓存状态值。对于关闭写缓存而开启读缓存,不同的磁盘厂商有不同的设置方式。以下是一些常见磁盘厂商的设置示例:

  • WD磁盘:

00:读缓存开启,写缓存关闭

04:读写缓存全部打开

01:读写缓存全部关闭

05:读缓存关闭,写缓存开启

  • Seagate和Toshiba磁盘:

10:读缓存开启,写缓存关闭

14:读写缓存全部打开

11:读写缓存全部关闭

15:读缓存关闭,写缓存开启

编辑mode_page.dat文件时,确保第一行包含正确的缓存设置值。例如,对于WD磁盘,关闭写缓存并开启读缓存,第一行可能如下:

88 12 00 00 ff ff 00 00 ff ff ff ff 00 08 00 00 00 00 00 00

请注意,您需要根据具体的磁盘型号选择正确的设置值。

2、将缓存状态写入磁盘

使用sg_wr_mode命令将编辑后的缓存状态写入磁盘。例如,要将mode_page.dat中的设置写入/dev/sdb设备,您可以执行:

sg_wr_mode -p 8,0 -c - -s /dev/sdb < mode_page.dat

3、验证缓存状态

为了确保缓存状态已成功更改,您可以再次使用sg_modes命令来查看:

sg_modes -p 8,0 /dev/sdb

检查输出中的相关位,以确保写缓存已按预期关闭。

Smartctl

一、使用smartctl查看和更改磁盘缓存状态

1、查看写缓存状态

您可以使用smartctl命令来查看SAS盘和SATA盘的写缓存状态。执行以下命令:

smartctl -g wcache /dev/sde

/dev/sde替换为您想要检查的磁盘设备名。

2、打开磁盘写缓存

要启用SAS盘或SATA盘的写缓存,执行以下命令:

smartctl -s wcache=on /dev/sde

同样,将/dev/sde替换为相应的磁盘设备名。

3、关闭磁盘写缓存

要禁用SAS盘或SATA盘的写缓存,执行以下命令:

smartctl -s wcache=off /dev/sde

4、查看读缓存状态(仅限SAS盘)

对于SAS盘,您还可以使用smartctl查看读缓存状态:

smartctl -g rcache /dev/sde

5、打开磁盘读缓存(仅限SAS盘)

要启用SAS盘的读缓存,执行以下命令:

smartctl -s rcache=on /dev/sde

6、关闭磁盘读缓存(仅限SAS盘)

要禁用SAS盘的读缓存,执行以下命令:

smartctl -s rcache=off /dev/sde

7、查看磁盘基础信息

使用smartctl-i选项,您可以查看磁盘的基础信息,包括型号、大小、容量和固件版本等:

smartctl -i /dev/sdb

请确保将/dev/sdb替换为您想要查询的磁盘设备名。

注意:

  • 使用smartctl更改磁盘缓存信息是临时性的。当系统断电或重启后,缓存设置将恢复为原状态。
  • 在更改缓存设置之前,请确保您了解这些更改对系统性能和数据完整性的影响。
  • 对于某些磁盘,使用smartctl更改缓存设置可能不受支持或可能无效。在这种情况下,请参考磁盘的官方文档以获取正确的设置方法。
  • 错误的缓存设置可能导致数据丢失或系统不稳定,因此在进行任何更改之前,请务必备份重要数据。

Sdparm

一、使用sdparm查看和更改SAS磁盘缓存状态

1、查看写缓存状态

使用sdparm命令可以查看SAS盘和SATA盘的写缓存状态。对于SAS盘,执行以下命令:

sdparm --get=WCE /dev/sdb

对于SATA盘,虽然某些情况下可能也可以使用此命令,但请注意不是所有SATA控制器或驱动器都支持通过sdparm更改缓存设置。如果返回值为1,则表示写缓存已开启。

2、打开磁盘写缓存

若要启用SAS盘的写缓存,执行以下命令:

sdparm -s WCE=1 --save /dev/sde

请注意,此命令仅适用于SAS盘,并且需要管理员权限来执行。

3、关闭磁盘写缓存

若要禁用SAS盘的写缓存,执行以下命令:

sdparm -s WCE=0 --save /dev/sde

同样,这也仅适用于SAS盘,并需要相应的权限。

4、查看读缓存状态

对于SAS盘和某些SATA盘,您可以使用sdparm查看读缓存状态:

sdparm --get=RCD /dev/sdb

返回值0表示读缓存已开启,而1则表示读缓存已关闭。

5、打开磁盘读缓存

若要启用SAS盘的读缓存(如果之前被关闭),执行以下命令:

sdparm -s RCD=0 --save /dev/sde

这同样仅适用于SAS盘,并需要管理员权限。

6、关闭磁盘读缓存

若要禁用SAS盘的读缓存,执行以下命令:

sdparm -s RCD=1 --save /dev/sde

这也仅适用于SAS盘,并需要相应的权限。

  • 在执行任何缓存更改之前,请确保您了解这些更改对系统性能和数据完整性的影响。
  • 并非所有磁盘或控制器都支持通过sdparm更改缓存设置。在执行这些命令之前,请查阅您的磁盘和控制器文档以确认兼容性。
  • 更改缓存设置可能会影响磁盘性能和数据持久性。务必在了解这些影响之后进行更改,并在进行任何更改之前备份重要数据。
  • 某些更改可能是临时性的,并且在重启或断电后可能不会保持。确保测试更改的持久性,并根据需要进行调整。

SATA 盘和 SAS 盘可以分别通过 hdparm 和 sdparm 来设置它的 write-caching 属性。

但是在有的情况下,系统上没有安装这两个工具,还可以考虑使用 smartctl 工具来设置。smartctl 的 –get 和 –set 参数可以用来查询和设置非 SMART 的属性,其中就包括了写缓存属性 wcache

查看当前硬盘当前的 wcache 值:

[root@chenhong204 ~]# smartctl --get=wcache /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-693.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.orgWriteback Cache is:   Enabled

关闭写缓存:

[root@chenhong204 ~]# smartctl --set=wcache,off /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-693.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.orgWrite cache disabled

开启写缓存:

[root@chenhong204 ~]# smartctl --set=wcache,on /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-693.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.orgWrite cache enabled

特别需要注意的是,用 smartctl 设置的值不能持久化,即重启后会恢复默认值。

相关文章:

smartctl 设置硬盘的 write-caching

sg3 一、sg3查看缓存状态 您可以使用sg_modes命令来查看SAS盘和SATA盘的缓存状态。例如&#xff0c;要查看/dev/sdb设备的缓存状态&#xff0c;您可以执行以下命令&#xff1a; sg_modes -p 8,0 /dev/sdb 二、sg3关闭机械盘写缓存状态&#xff08;仅适用于SAS盘&#xff09…...

【Spring AI】Java实现类似langchain的向量数据库RAG_原理与具体实践

介绍一下RAG&#xff1a; 检索增强生成&#xff08;RAG&#xff09;是一种技术&#xff0c;它结合了检索模型和生成模型来提高文本生成的质量。通过从企业私有或专有的数据源中检索相关信息&#xff0c;并将这些信息与大型语言模型相结合&#xff0c;RAG能够显著减少模型产生幻…...

linux下使用systemctl设置开机自动运行程序

本文介绍在Linux下&#xff0c;使用systemctl设置开机自动运行程序&#xff0c;实现创建一个systemd服务单元文件&#xff0c;并启用该服务的方法。 1、创建.service文件 在/etc/systemd/system/目录下创建一个以.service结尾的文件&#xff0c;例如myapp.service&#xff1a…...

复位电路的亚稳态

复位导致亚稳态的概念&#xff1a; 同步电路中&#xff0c;输入数据需要与时钟满足setup time和hold time才能进行数据的正常传输&#xff08;数据在这个时间段内必须保持不变&#xff1a;1不能变为0&#xff0c;0也不能变为1&#xff09;&#xff0c;防止亚稳态&#xff1b; …...

针对考研的C语言学习(循环队列-链表版本以及2019循环队列大题)

题目 【注】此版本严格按照数字版循环队列的写法&#xff0c;rear所代表的永远是空数据 图解 1.初始化部分和插入部分 2出队 3.分部代码解析 初始化 void init_cir_link_que(CirLinkQue& q) {q.rear q.front (LinkList)malloc(sizeof(LNode));q.front->next NULL…...

系统架构设计师教程 第12章 12.4 信息系统架构案例分析 笔记

12.4 信息系统架构案例分析 ★★★★☆ 12.4.1 价值驱动的体系结构——连接产品策略与体系结构 1.价值模型概述 价值模型核心的特征可以简化为三种基本形式。 (1)价值期望值&#xff1a;表示对某一特定功能的需求&#xff0c;包括功能、质量和不同 级别质量的实用性。 (2)…...

web1.0,web2.0,web3.0 有什么区别 详解

Web 的发展经历了多个阶段&#xff0c;每个阶段都有其独特的特点和技术进步。下面是 Web 1.0、Web 2.0 和 Web 3.0 之间的主要区别和详细解释&#xff1a; Web 1.0 时间范围&#xff1a;大约在 1991 年至 1995 年。 Web 1.0 是互联网的最初形态&#xff0c;也被称为静态 Web…...

将图片添加到 PDF 的 5 种方法

需要一种称为 PDF 编辑器的特定工具才能将图片添加到 PDF。尽管大多数浏览器在查看和注释 PDF 文件方面都非常出色&#xff0c;但如果您使用图像到 PDF 技术&#xff0c;则只能将照片放入 PDF 中。无需修改即可将 PDF 文件恢复为原始格式的能力是使用此类软件程序甚至在线服务的…...

TiDB 优化器丨执行计划和 SQL 算子解读最佳实践

导读 在数据库系统中&#xff0c;查询优化器是数据库管理系统的核心组成部分&#xff0c;负责将用户的 SQL 查询转化为高效的执行计划&#xff0c;因而会直接影响用户体感的性能与稳定性。优化器的设计与实现过程充满挑战&#xff0c;有人比喻称这是数据库技术要持续攀登的珠穆…...

初学51单片机之I2C总线与E2PROM以及UART简单实例应用

这是I2C的系列的第三篇&#xff0c;这篇主要是写一个简单的程序来实践一下相关的内容。前面博主写过一个电子密码锁的程序初学51单片机之简易电子密码锁及PWM应用扩展_51单片机设计电子密码锁-CSDN博客 本篇主要是在此基础上修改下程序&#xff0c;让密码存储在E2PROM中&#…...

软考高级软件架构师论文——论Web系统的测试技术及其应用

【摘要】 本人于2023年8月参与了某地级市的市级机关电子政务信息系统的建设工作,该项目是该市机关的电子政务网建设计划的一部分,笔者在该项目中担任项目经理和系统分析师一职,主要负责项目的日常全面管理和质量保证与质量控制工作。该项目是基于WEB系统的,由于WEB系统具有…...

快速总结AFPN

AFPN: Asymptotic Feature Pyramid Network for Object Detection 解决的问题 特征金字塔架构的提出是为了解决尺度变化的问题&#xff0c;图像中物体真正有用的特征在顶部最高层需要通过多个中间尺度传播&#xff0c;并与这些尺度的特征交互&#xff0c;才能与底部的低层特征…...

Linux 内核中USB鼠标枚举失败问题总结

一、环境&#xff1a; 机器平台&#xff1a;linux 内核版本&#xff1a;linux-3.4 二、问题&#xff1a; USB鼠标接入后报错&#xff0c;log显示设备无法枚举 usb 1-1: new low-speed USB device number 10 using musb-hdrc hub 1-0:1.0: unable to enumerate USB device o…...

十六进制转二进制

128 64 32 16 8 4 2 1 十六进制&#xff1a;0~9ABCDEF&#xff08;A是10、B是11、C是12、D是13、E是14、F是15&#xff09; 每一个十六进制位转换成4个二进制位&#xff0c;左边不足4个补0 示例&#xff1a; 109CBE&#xff1a;0001 0000 1001 1100 1011 1110 8 4 2 1 1 …...

Python保存CSV文件,Excel打开后中文乱码

情况描述 在做多语言文件处理时&#xff0c; 使用 pandas&#xff0c; 并且指定了encoding为 UTF-8&#xff0c; 在 IDE&#xff0c; Sublime等编辑器上查看都显示正常&#xff0c;使用Excel打开非英文字符&#xff0c; 例如汉字&#xff0c; 阿拉伯文&#xff0c; 希伯来文等显…...

数据湖数据仓库数据集市数据清理以及DataOps

一提到大数据我们就知道是海量数据&#xff0c;但是我们并不了解需要从哪些维度去考虑这些数据的存储。比如 数据湖、数据仓库、数据集市&#xff0c;以及数据自动化应用DataOps有哪些实现方式和实际应用&#xff0c;这篇文章将浅显的做一次介绍。 数据湖 数据湖是一种以自然…...

「Ubuntu」文件权限说明(drwxr-xr-x)

我们在使用Ubuntu 查看文件信息时&#xff0c;常常使用 ll 命令查看&#xff0c;但是输出的详细信息有些复杂&#xff0c;特别是 类似与 drwxr-xr-x 的字符串&#xff0c;在此进行详细解释下 属主&#xff1a;所属用户 属组&#xff1a;文件所属组别 drwxr-xr-x 7 apps root 4…...

JS-学生管理系统(功能实现)

基础知识点掌握&#xff1a; 1.DOM节点 首先DOM树当做一颗到着生长的树&#xff0c;DOM树里面的每一个内容称为节点 节点类型&#xff1a; 属性节点元素节点文本节点其他 2.查找节点&#xff1a; 查找节点分为3个类型&#xff1a; 父节点子节点兄弟节点 &#xff08;1&…...

C# 屏幕录制工具

屏幕录制工具 开发语音&#xff1a;C# vb.net 下载地址&#xff1a;https://download.csdn.net/download/polloo2012/89879996 功能&#xff1a;屏幕录制&#xff0c;声卡采集&#xff0c;麦克风采集。 屏幕录制&#xff1a;录制屏幕所有操作&#xff0c;并转换视频格式&…...

前端开发攻略---前端ocr图片文字提取功能

1、引入资源 通过链接引用 <script src"https://cdn.bootcdn.net/ajax/libs/tesseract.js/5.1.0/tesseract.min.js"></script> npm或其他方式下载 npm i tesseract 2、示例 <!DOCTYPE html> <html lang"en"><head><meta…...

SteamShutdown终极指南:让Steam下载完成后自动关机的完整解决方案

SteamShutdown终极指南&#xff1a;让Steam下载完成后自动关机的完整解决方案 【免费下载链接】SteamShutdown Automatic shutdown after Steam download(s) has finished. 项目地址: https://gitcode.com/gh_mirrors/st/SteamShutdown 还在为Steam大型游戏下载而熬夜等…...

STM32磁悬浮平衡术(一):PID算法调校与硬件选型指南

1. PID算法&#xff1a;磁悬浮系统的"大脑" 磁悬浮系统的核心挑战在于如何让浮子稳定悬浮。想象一下&#xff0c;你要用手指顶着一根铅笔保持直立——这需要不断微调手指的位置来抵消铅笔的倾斜。PID算法就是STM32中扮演这个"微调手指"角色的关键程序。 PI…...

Vivado实战:从零封装自定义接口IP核的完整流程

1. 为什么需要封装自定义IP核 第一次接触FPGA开发时&#xff0c;我总喜欢把整个工程的所有代码都堆在一个项目里。直到某天需要复用之前的HDMI显示模块时&#xff0c;才发现要手动复制几十个文件&#xff0c;还得逐个修改端口连接。这种重复劳动让我意识到&#xff1a;封装IP核…...

Granite TimeSeries FlowState R1 多步预测效果展示:长期趋势与不确定性量化

Granite TimeSeries FlowState R1 多步预测效果展示&#xff1a;长期趋势与不确定性量化 时间序列预测&#xff0c;听起来挺专业的&#xff0c;但说白了&#xff0c;就是根据过去的数据&#xff0c;猜猜未来会发生什么。比如&#xff0c;老板问你&#xff1a;“下个月咱们产品…...

多模态融合避坑手册:为什么你的跨模态模型总掉进‘语义鸿沟’?

多模态融合避坑手册&#xff1a;为什么你的跨模态模型总掉进‘语义鸿沟’&#xff1f; 当你兴奋地将精心设计的跨模态模型投入训练&#xff0c;却发现验证集指标像过山车一样剧烈波动时&#xff0c;问题往往出在那些容易被忽视的工程细节里。上周有位工程师向我展示了他的视频…...

手把手教你配置Davinci NvM Block:从Fee关联到Dataset索引的保姆级避坑指南

手把手教你配置Davinci NvM Block&#xff1a;从Fee关联到Dataset索引的保姆级避坑指南 在汽车电子软件开发中&#xff0c;非易失性存储管理&#xff08;NvM&#xff09;是确保关键数据持久化的核心模块。Davinci配置工具作为AUTOSAR开发环境的重要组成部分&#xff0c;其NvM B…...

【图灵完备(Turing Complete)】五、从逻辑门到LEG:指令集与条件跳转的构建

1. 从逻辑门到处理器&#xff1a;LEG架构的诞生之路 记得我第一次用面包板搭建简单逻辑电路时&#xff0c;连个LED灯闪烁都要折腾半天。而现在我们要做的&#xff0c;是把这些基础逻辑门像乐高积木一样拼接成真正的处理器核心。LEG架构的设计初衷就是要解决原始图灵机指令宽度受…...

贪心算法3(c++)

概念题目最短前缀题目描述 一个字符串的前缀是从该字符串的第一个字符起始的一个子串。例如carbon的字串是:cca,carcarb,carbo,和carbon。我们现在希望能用前缀来缩略的表示单词。例如,carbohydrate通常用carb来缩略表示&#xff0c;现在给你一组单词&#xff0c;要求你找到唯一…...

智科毕业设计易上手选题100例

0 选题推荐 - 汇总篇 毕业设计是大家学习生涯的最重要的里程碑&#xff0c;它不仅是对四年所学知识的综合运用&#xff0c;更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要&#xff0c;它应该既能体现你的专业能力&#xff0c;又能满足实际应用…...

别再傻傻匀速拖滑块了!用Python模拟真人鼠标轨迹,轻松过Geetest验证码

突破验证码防线&#xff1a;Python模拟人类行为轨迹的实战艺术 验证码系统正变得越来越智能&#xff0c;Geetest等平台已经能够通过分析用户行为模式来区分人类和机器。传统的匀速滑块操作在这些系统面前几乎无所遁形。本文将带你深入理解现代验证码系统的工作原理&#xff0c;…...