本站已运行

攻城狮论坛

作者: 微思网络IT认证
查看: 276|回复: 4

more +今日重磅推荐Recommend No.1

所有IT类厂商认证考试题库下载所有IT类厂商认证考试题库下载

more +随机图赏Gallery

【新盟教育】2023最新华为HCIA全套视频合集【网工基础全覆盖】---国sir公开课合集【新盟教育】2023最新华为HCIA全套视频合集【网工基础全覆盖】---国sir公开课合集
【新盟教育】网工小白必看的!2023最新版华为认证HCIA Datacom零基础全套实战课【新盟教育】网工小白必看的!2023最新版华为认证HCIA Datacom零基础全套实战课
原创_超融合自动化运维工具cvTools原创_超融合自动化运维工具cvTools
重量级~~30多套JAVA就业班全套 视频教程(请尽快下载,链接失效后不补)重量级~~30多套JAVA就业班全套 视频教程(请尽快下载,链接失效后不补)
链接已失效【超过几百G】EVE 国内和国外镜像 全有了 百度群分享链接已失效【超过几百G】EVE 国内和国外镜像 全有了 百度群分享
某linux大佬,积累多年的电子书(约300本)某linux大佬,积累多年的电子书(约300本)
乾颐堂现任明教教主Python完整版乾颐堂现任明教教主Python完整版
乾颐堂 教主技术进化论 2018-2019年 最新31-50期合集视频(各种最新技术杂谈视频)乾颐堂 教主技术进化论 2018-2019年 最新31-50期合集视频(各种最新技术杂谈视频)
Python学习视频 0起点视频 入门到项目实战篇 Python3.5.2视频教程 共847集 能学102天Python学习视频 0起点视频 入门到项目实战篇 Python3.5.2视频教程 共847集 能学102天
约21套Python视频合集 核心基础视频教程(共310G,已压缩)约21套Python视频合集 核心基础视频教程(共310G,已压缩)
最新20180811录制 IT爱好者-清风羽毛 - 网络安全IPSec VPN实验指南视频教程最新20180811录制 IT爱好者-清风羽毛 - 网络安全IPSec VPN实验指南视频教程
最新20180807录制EVE开机自启动虚拟路由器并桥接物理网卡充当思科路由器最新20180807录制EVE开机自启动虚拟路由器并桥接物理网卡充当思科路由器

[文档] 【每日技术分享】红帽RHCSA/RHCE/RHCA 修改内核buffer配置

[复制链接]
查看: 276|回复: 4
开通VIP 免金币+免回帖+批量下载+无广告
本帖最后由 微思网络IT认证 于 2022-7-4 16:56 编辑

今天给大家分享一篇  Linux实用命令大全  希望对大家工作、学习有所帮助;文末有原文链接可供下载:

前言
众所周知,文件系统使用缓存来提升性能,在大部分情况下,当出现大量"读缓存"时,说明内存利用率表现良好;
但如果出现大量"写缓存"则情况开始棘手起来。


写缓存(buffer)原理
Linux 内核将要写入磁盘的数据暂时写入到缓存(buffer),并随着时间的推移异步的将这些数据写入到磁盘;
但这样做的风险是,当数据没有被写入到磁盘时,就有丢失数据的风险(因为此时数据还在内存里,等待被刷入磁盘)


另外,大量的I/O也有可能使缓存不堪重负,你可以尝试一次将大量的数据写入磁盘,此时你会看到系统在处理这些数据时开始频繁的停顿

感到卡顿是因为,由于缓存发现有太多的数据需要异步写入,从而转为同步写入(阻塞,让进程等待,知道I/O被提交到磁盘);

文件系统会保持写入的顺序,所以当发生同步写入时,首先就是清理掉 buffer,因此,所有的写I/O,都将先等待"buffer"数据落盘,就发生了"卡顿"

用户可以根据自己的工作负载对写缓存进行一些设置,首先列出写缓存相关的内核参数:

【每日技术分享】红帽RHCSA/RHCE/RHCA 修改内核buffer配置

【每日技术分享】红帽RHCSA/RHCE/RHCA   修改内核buffer配置


下表列出了这些选项的释义

【每日技术分享】红帽RHCSA/RHCE/RHCA 修改内核buffer配置

【每日技术分享】红帽RHCSA/RHCE/RHCA   修改内核buffer配置


可以使用命令 cat /proc/vmstat | egrep "dirty|writeback" 来查看缓存的统计信息

【每日技术分享】红帽RHCSA/RHCE/RHCA 修改内核buffer配置

【每日技术分享】红帽RHCSA/RHCE/RHCA   修改内核buffer配置


以上输出表示当前系统有 6 个脏页等待磁盘写入



优化方法1: 减少缓存
现代的大多数服务器均使用"SSD固态硬盘"作为存储,I/O读写速度已经大幅题升;
所以将数据保存在缓存中是有风险的,不如尽早将数据落盘,减少内核的操作; 可以通过编辑 /etc/sysctl.conf 文件来实现缓存设置的持久化,修改完后需要执行 sysctl -p 进行立即生效

【每日技术分享】红帽RHCSA/RHCE/RHCA 修改内核buffer配置

【每日技术分享】红帽RHCSA/RHCE/RHCA   修改内核buffer配置


以上设置即"当内存中脏页数据超过总内存的5%时,开始执行异步落盘操作;当脏页数据超过总内存10%,开始执行同步落盘操作";




优化方法2: 增加缓存
在某些特殊的场景下,提高写缓存反而对性能有着积极的影响;

如下场景: 虚拟机上包含的数据并不是最关键数据(即使丢了也没事),并且这些数据是由应用程序重复的、突发的,频繁的一直写入同一文件;
所以理论上我们可以允许更多的写缓存存在,这样只会在内存中反复的重写相同的"数据块",只需要每隔一段时间后,将脏数据落盘一次

在这种场景下,我们可以设置如下参数:

【每日技术分享】红帽RHCSA/RHCE/RHCA 修改内核buffer配置

【每日技术分享】红帽RHCSA/RHCE/RHCA   修改内核buffer配置


以上设置即"当内存中脏页数据超过总内存50%后,才开始异步落盘,当脏页数据超过80%时,开始同步落盘"; 也可以配置 vm.dirty_expire_centisecs 参数来增加缓存保留的时间



应对突发性的慢速磁盘I/O特殊场景
在某些场景下,服务器的磁盘性能较差,而系统的业务会有突发性的写入I/O请求; 由于磁盘缓慢,我们需要将数据尽可能都保留在缓存里,然后"涓流的写回磁盘"
可以这样设置:

【每日技术分享】红帽RHCSA/RHCE/RHCA 修改内核buffer配置

【每日技术分享】红帽RHCSA/RHCE/RHCA   修改内核buffer配置



最后注意,这些参数并没有什么固定的值,一切都需要根据业务场景的状态来设置





【每日技术分享】红帽RHCSA/RHCE/RHCA 修改内核buffer配置

【每日技术分享】红帽RHCSA/RHCE/RHCA   修改内核buffer配置

课外-5.修改内核buffer配置(已发).pdf

404.51 KB, 下载次数: 4, 下载积分: 金币 -2

【每日技术分享】红帽RHCSA/RHCE/RHCA 修改内核buffer配置

CCNA考试 官方正规报名 仅需1500元
回复 论坛版权

使用道具 举报

guaidaokenan [Lv10 举世无双] 发表于 2022-7-11 17:01:12 | 显示全部楼层
攻城狮论坛 每天更新 免费下载 谁来谁知道
回复 支持 反对

使用道具 举报

cool8d [Lv8 技术精悍] 发表于 2022-7-11 18:43:13 | 显示全部楼层
你知道么? 通过论坛客服报名CCNA,CCNP,CCIE 最高可省2000元培训费. 联系QQ 80766391
回复 支持 反对

使用道具 举报

304065198 [Lv8 技术精悍] 发表于 2022-7-13 10:52:48 | 显示全部楼层
攻城狮论坛一直为会员提供经典/最新的资料&视频&题库,一直为大家提供力所能及的服务和帮助
回复 支持 反对

使用道具 举报

304065198 [Lv8 技术精悍] 发表于 2022-7-16 17:49:09 | 显示全部楼层
楼主,不论什么情况你一定要hold住!hold住就是胜利!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|无图浏览|手机版|网站地图|攻城狮论坛

GMT+8, 2026-6-3 12:17 , Processed in 0.110885 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

Designed by ARTERY.cn