Linux操作系统块设备参数调优

news2024/9/30 19:26:58

       

目录

一、队列深度

二、调度算法

三、预读量

四、I/O对齐


一、队列深度

        队列深度决定了给块设备写I/O的最大并发数,对于Linux系统,默认值为128,一般情况下不建议用户修改此参数。用户可以使用cat命令查询当前块设备队列深度。

 linux-ob3a:~ # cat /sys/block/sdc/queue/nr_requests

128 

        当对系统进行极限性能测试时,为了增大主机写I/O的压力及I/O在队列中被合并的概率,可以适当的增大此参数。可以通过如下方法临时修改块设备的队列深度。

echo 256 > /sys/block/sdc/queue/nr_requests

https://download.huawei.com/mdl/image/download?uuid=298fc6778043430aac2b93a309236082

临时修改块设备队列深度可以用于性能调优,当应用服务器重启后,块设备队列深度将恢复为默认值。

二、调度算法

        Linux操作系统2.6内核支持四种块设备调度算法:noop,anticipatory,deadline和cfq。默认的调度算法为cfq。用户可以使用cat命令查询当前块设备调度算法。

 linux-ob3a:~ # cat /sys/block/sdc/queue/scheduler

noop deadline [cfq]  

        调度算法配置不当会对系统性能产生影响,如I/O并发等。可以通过如下方法临时修改块设备的调度算法。

echo noop > /sys/block/sdc/queue/scheduler

https://download.huawei.com/mdl/image/download?uuid=298fc6778043430aac2b93a309236082

临时修改调度算法可以用于性能调优,当应用服务器重启后,调度算法将恢复为默认值。

三、预读量

        Linux的预读功能类似于阵列的预读算法,仅对顺序读有效且会对顺序流进行识别,并提前读取“read_ahead_kb”(单位为扇区)长度的数据。例如,SUSE 11操作系统预读量的默认值为512扇区,即256KB。用户可以使用cat命令查询当前块设备预读量。

 linux-ob3a:~ # cat /sys/block/sdc/queue/read_ahead_kb

512 

当业务需要对大量的大文件进行读取时,可以通过适当调大此参数提升性能。可以通过如下方法修改块设备的预读量。

echo 1024 > /sys/block/sdc/queue/read_ahead_kb

四、I/O对齐

        在Linux或Windows Server 2003之前版本的操作系统中使用MBR格式创建分区时,会将磁盘的最开始63个扇区预留给主引导记录和分区表,第一个分区默认从第64扇区开始。这造成了主机的数据块(数据库或文件系统)与存储数据块不对齐,导致I/O处理效率降低。

Linux操作系统解决I/O不对齐的方法有两种:

  • 方法一:更改分区开始位置。

        在Linux系统中使用MBR格式创建分区时,建议进入fdisk命令的专家模式,设置首分区的开始位置为LUN的第二个Extent的开始位置(Extent大小默认是4MB)。下面的快速命令用在/dev/sdb上使用MBR格式创建1个分区,使用/dev/sdb的全部空间,开始扇区设置为8192,即4MB。

printf "n\np\n1\n\n\nx\nb\n1\n 8192\nw\n" | fdisk /dev/sdb

  • 方法二:直接采用GPT格式分区。

        下面的快速命令用于在/dev/sdb上使用GPT格式创建1个分区,使用/dev/sdb的全部空间,开始扇区设置为8192,即4MB。

parted -s -- /dev/sdb "mklabel gpt" "unit s" "mkpart primary 8192 -1" "print"

对于Windows Server 2003之前版本的系统中创建MBR分区时,建议使用diskpart命令,设置分区对齐。

diskpart> select disk 1

diskpart> create partition primary align=4096

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/836981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Arthas GC日志-JVM(十八)

上篇文章说jvm的实际运行情况。 Jvm实际运行情况-JVM(十七) Arthas介绍 因为arthas完全是java代码写的,我们直接用命令启动: Java -jar arthas-boot.jar 启动成功后,选择我们项目的进程。 进入我们可用dashboard…

ATFX汇评:非农就业报告来袭,汇市或迎剧烈波动

ATFX汇评:美国非农就业报告每月发布一次,其中非农就业人口和失业率两项数据最受关注。7月季调后非农就业人口,将于今日20:30公布,前值为20.9万人,预期值20万人;7月失业率,同一时间公布&#xff…

文字转语音

键盘获取文字,转化为语音后保存本地 from win32com.client import Dispatch from comtypes.client import CreateObject from comtypes.gen import SpeechLib speakerDispatch(SAPI.SpVoice) speaker.Speak(请输入你想转化的文字) datainput(请输入:)#s…

【二等奖方案】Web攻击检测与分类识别赛题「机器学习」团队解题思路

2022 CCF BDCI 数字安全公开赛 赛题「Web攻击检测与分类识别」 地址:http://go.datafountain.cn/4Zj 机器学习战队 获奖方案 团队简介 我们团队由五名成员组成,对机器学习都非常感兴趣,同时在机器学习领域有着丰富的实战经验&#xff0c…

Teams Room视频会议室方案

需求背景: 适合在40平米的会议室参加Teams视频会议,会议桌周围可以坐20人,要求: 1,操作简单,一键入会Teams Room; 2,任何人带上自己的笔记本电脑,可以分享电脑画面&#…

uniapp 持续获取定位(登录状态下才获取)(不采用定时器)(任意页面都可监听定位改变)

基于上次文章做了优化和改良,保证在登录状态下才获取定位信息 uniapp 小程序实时且持续获取定位信息(全局设置一次)(单页面监听定位改变)(不采用定时器)_uniapp小程序定位_前端小胡兔的博客-CSDN博客本篇文章实现了uniapp 微信小程序实时获取定位信息,小程序打开即可持续获取定…

2023年我想开信用账户!融资融券开通佣金最低是多少?两融利率低至5%!

2023年融资融券开通佣金最低是多少?两融利率低至5%! 随着科技的不断发展和金融市场的日益完善,2023年的融资融券市场将迎来更加便捷和低成本的交易方式。据悉,融资融券开通佣金最低仅为5%,且利率也将进一步降至5%左右。…

eeglab(自用)

目录 1.加载、显示数据 2.绘制脑电头皮图 3.绘制通道光谱图 4.预处理工具 5.ICA去除伪迹 5. 提取数据epoch 1.加载、显示数据 观察事件值(Event values):该数据集中包含2400个事件,每个事件指定了EEG.event结构的字段Type(类型)、position(位置)和…

HCIP BGP选路规则总结

选路前提条件 多条BGP路由目标相同,且均可优(下一跳可达、同步关闭),具有相同的优先级(管理距离)。 1、优选Preference_Value值最高的路由(私有属性,仅本地有效)。 不传递 权限最高属性 …

为什么vscode访问谷歌浏览器是显示白色????

1、我的代码没有错误: 2、访问谷歌浏览器就显示白色???是什么情况

【word中如何插入带圆圈的数字编号】

第一种方法 在插入菜单栏选择编号 输入需要插入的数字,并选择编号类型 即可成功创建一个圆圈数字编号 第二种方法 在输入原本的数字后,选中数字,点击开始菜单栏中的字 选择所需的符号点击确定 即可成功添加带圈文字,但此种…

C#使用EmguCV播放视频

目录 一、前言 1、简介 2、测试工程代码下载链接 3、EmguCV 库文件下载链接 二、工程环境配置 1、EmguCV控件添加引用 (1)窗口控件添加 (2)相关Dll文件添加添加引用 (3)工程运行基础文件夹添加 &a…

棱镜七彩正式加入龙蜥社区安全联盟(OASA)

近日,龙蜥社区安全联盟(OASA)正式成立,棱镜七彩成为该联盟成员单位。 龙蜥社区安全联盟是促进产业合作的非营利组织,致力于打造中立开放、聚焦操作系统信息安全的交流平台,推进龙蜥社区乃至整个产业安全生态…

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 31 日论文合集)

文章目录 一、检测相关(9篇)1.1 Semi-Supervised Object Detection in the Open World1.2 Multi-layer Aggregation as a key to feature-based OOD detection1.3 Non-invasive Diabetes Detection using Gabor Filter: A Comparative Analysis of Different Cameras1.4 Local …

【福建事业单位-推理判断】03类别推理

【福建事业单位-推理判断】03类别推理 一、类别推理1.1语义关系考点一、近义反义关系(不需要严格的,意思相近即可)近义反义的二级辨析(感情色彩)考点二:比喻义、象征义 1.2 逻辑关系1.2.1全同关系&#xff…

【性能测试】性能数据采集工具nmon安装使用及报告参数含义详解

目录 nmon nmon下载 解压安装 启动 数据采集配置 生成图形结果 nmon报告中的参数含义 资料获取方法 nmon nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文…

OJ:C++ | [vector] — 力扣

文章目录 118. 杨辉三角 - 力扣思路解: 17. 电话号码的字母组合 - 力扣思路:递归解: 137. 只出现一次的数字 II- 力扣思路:解: 118. 杨辉三角 - 力扣 题目链接:118. 杨辉三角 - 力扣(LeetCode&…

车载开发核心技术——SystemUI控制技术

SystemUI是指车载开发中的一个重要组件,它负责管理和控制车机的用户界面和交互功能。本文将详细介绍SystemUI的各项控制技术,包括音量控制、RingtonePlayer、电源管理、任务管理、通知栏和服务定制,并提供相关代码示例和解析。 一、音量控制…

【Docker】Docker容器化技术基础

Docker容器化技术 Docker(软件跨环境迁移)Docker概念:安装Dockerdocker架构配置Docker镜像加速器 一、Docker命令服务daemon相关的命令镜像相关命令Docker容器相关命令 二、Docker容器的数据卷数据卷概念配置数据卷配置数据卷容器 三、Docker…

【linux--->数据链路层协议】

文章目录 [TOC](文章目录) 一、数据链路层协议概念二、以太网帧格式1.字段分析 三、局域网通信原理四、ARP协议1.结构2.作用3.ARP通信过程4.ARP协议相关命令 五、局域网内中间人原理六、DNS系统(域名系统)1.域名概念2.DNS系统组成3.DNS协议3.浏览器输入域名后的通信过程4.dig工…