首页 > 其他分享 >开启、关闭HDD读、写缓存状态

开启、关闭HDD读、写缓存状态

时间:2024-04-24 19:57:11浏览次数:27  
标签:smartctl 缓存 更改 开启 dev HDD SAS 磁盘

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更改缓存设置。在执行这些命令之前,请查阅您的磁盘和控制器文档以确认兼容性。
  • 更改缓存设置可能会影响磁盘性能和数据持久性。务必在了解这些影响之后进行更改,并在进行任何更改之前备份重要数据。
  • 某些更改可能是临时性的,并且在重启或断电后可能不会保持。确保测试更改的持久性,并根据需要进行调整。

标签:smartctl,缓存,更改,开启,dev,HDD,SAS,磁盘
From: https://www.cnblogs.com/hsh96/p/18156151

相关文章

  • HCDG北京站精彩回顾 | 鸿蒙千帆起,开启万物互联新纪元
    本文分享自华为云社区《HCDG北京站精彩回顾|鸿蒙千帆起,开启万物互联新纪元》,作者:华为云社区精选。HCDG(HuaweiCloudDeveloperGroup华为云开发者社区组织),是基于城市圈和技术圈,由开发者核心组自发开展的开放、创新、多元的社区技术交流组织。致力于帮助开发者学习提升、互动交流......
  • 腾讯云的Ubuntu开启root远程ssh
    在腾讯云的Ubuntu系统上启用root用户,你可以通过以下步骤进行:设置root密码:sudopasswdroot允许root用户通过SSH登录:编辑/etc/ssh/sshd_config文件,将PermitRootLogin的值改为yes:sudonano/etc/ssh/sshd_config#找到这一行:#PermitRootLoginprohibit-password#修改为:P......
  • 全民众测月开启!Comate来送钱了!
    在AIGC工具井喷爆发的时代,你是否缺少一款足够趁心的智能编码助手,让自己的开发效率大大提升?BaiduComate与CSDN联合,推出全民众测活动!BaiduComate智能编码助手是基于文心大模型打造的强大编码辅助工具,现已在全网免费开放使用!精通100+编程语言,支持VSCode、JetBrains全系列、Xcod......
  • windows清理图标缓存
    bat文件内容::终止WindowsExplorer进程,用于重新加载桌面和任务栏taskkill/f/imexplorer.exe::取消设置图标缓存文件的隐藏属性和系统属性attrib-h-i%userprofile%\AppData\Local\IconCache.db::删除图标缓存文件,以便系统重新生成图标缓存del%userprofile%\Ap......
  • 矿产资源管理系统:开启智慧矿业新篇章
    项目背景在全球经济发展的大背景下,矿产资源作为工业的“粮食”和“血液”,其合理开发与有效管理对于国家的经济发展、能源安全和工业稳定供应具有不可替代的作用。然而,随着资源的日益紧张和环境保护要求的提高,传统的矿产资源管理模式已难以满足现代社会的需求。因此,构建......
  • 缓存问题+Spring Cache
    在微信小程序端,展示菜品的相关信息时,如果同一时间有大量用户访问或点餐,其实会生成很多sql语句,数据库访问压力很大的,如果访问压力过大,造成数据库性能下降,用户的体验感下降,具体体现在,点击菜品信息后,一直转圈。 如果把这个商品缓存到redis中,这样可以大大提高查询性能 实现思路......
  • redis自学(40)什么是多级缓存
    传统缓存的问题传统的缓存策略一般是请求到达Tomcat后,先查询redis,如果未命中则查询数据库,存在下面的问题:l 请求要经过tomcat处理,tomcat的性能成为整个系统的瓶颈l Redis缓存失效时,会对数据库产生冲击  多级缓存方案多级缓存就是充分利用请求处理的每个环节,分别添加缓......
  • mumu模拟器上微信安装目录缓存目录
    前言全局说明mumu模拟器上微信安装目录缓存目录一、微信安装目录/storage/emulated/0/Android/data/com.tencent.mm二、缓存目录/data/data/com.tencent.mm/cache/<一串32位数字>/finder/video三、四、免责声明:本号所涉及内容仅供安全研究与教学使用,如出现......
  • Java开启事务(@Transactional)
    开始事务的代码可以使用Spring的事务管理器来实现。具体步骤如下:1.在Spring配置文件中配置事务管理器和事务通知器:```<beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><propertyname="dataSource"ref="......
  • js 实现可缓存方法
    1.概述有些场景下,如果一些函数需要大量的运算,但是他们的传入的参数是一样的,这个时候,我们可以将这些运算缓存下来,之后的运算就可以不用重复计算了。2.实现方法<script>//可以缓存的函数functioncacheFunc(fn){ //缓存处理 letcache=newMap(); returnfunction(...args)......