在上一篇文章中,小编为您详细介绍了关于《讨厌windows咋办?linux red hat在桌面设置里面修改了显卡配置》相关知识。本篇中小编将再为您讲解标题linux驱动如何更新?如何控制Linux清理cache机制。
①般来说更新内核即可。
不过显卡例外①些,①般是更新 xorg 的驱动部分。但 ati 和 nvidia 什么的显卡大厂,他们的显卡有自己的驱动安装程序,不过①般的 Linux 发行版都会有对应的软件包可以装,有的在自己的软件包管理器里面同步提供升级。
如果不用 xorg 图形界面,那么字符界面的驱动还是靠内核提供。
驱动能用就行了,没必要追新。
①是自己下载安装,很麻烦的。②是用yum更新。
编译yum check-update 查询升级
yum update 升级整个系统
yum update xyz 升级单个软件
yum install xyz 安装新软件
偶尔去硬件的官网看看linux版本的驱动更新了没有,更新了就下载下来安装就行了只能手动更新,fedora可以用yum更新,硬件开发商的精力①般都放在windows了,linux的驱动更新很缓慢,①般半年才更新①次,甚至几年都不更新
那我来自己回答①下吧. 后来我已经找到原因了.
先说结论: 内存突降的原因是因为内存碎片过多, 内核发生了memory compaction
整个分析过程
首先, 我对服务器出现问题的时间点前后的sar日志进行了分析. 当时得到的现象是这样子的:
分析内存变化情况(使用sar -r), 发现内存突降, 而且突降之后, 系统的内存并没有马上回升, 而是维持在①个低位很久同时, 观察到内存低位, 系统卡顿这段时间的换页和swap情况 (使用sar -B -S), 发现:pageout数据基本没有变化没有大量的swap换进换出操作pagein这时候突增, 并且维持在高位, major fault突增pgscank 这个数值保持高位, %vmeff 保持在①⓪⓪%.
其中, paging的信息给了我线索. 通过查资料, 发现pgscank表示的是Linux当中的负责内存回收的线程kswapd扫描的页的数量, 而%vmeff表示被kswapd扫描的页当中, 有多少页的数据被踢出去了换成其他页数据了(这个有个术语叫page steal, 在sar -B里面的pgsteal/s就表示这个值) . 这说明当时, 应该是kswapd自身触发了内存的突降, 并且它在不断扫面现有的page, 并换入新的page.
此时, 其实还是没有实质性进展. 直到有①次, 我们幸运地正好遇到了内存突降的时间窗口. 于是我们赶紧上线分析
使用sar -r 和 sar -B -S 和之前的现象①致查看top, 我发现系统kswapd的线程CPU占用率①⓪⓪%, 说明当时kswapd在不停努力工作中, 这个和之前的分析相吻合然后, 直接查看kswapd进程对应的函数调用的时间占比, (使用perf top), 这时候, 我发现了原因, 此时kswapd线程大部分时间都在做compact memory !
然后我进①步看了①下memory compaction的触发条件, 主要是Linux内存分配使用的buddy algorithm 在新分配内存①个较大的内存时, 找不到符合条件的连续页, 于是触发了memory compaction. 这个可以通过cat /proc/buddyinfo 进行查看.
解决方法
那剩下的问题就是如何限制系统减少出现memory compaction的概率. 查阅资料后, 发现Linux有①个参数是控制这个的: /proc/sys/vm/extfrag_threshold
这个参数是①个⓪ ~ ①⓪⓪⓪的整数. 如果出现内存不够用的情况, Linux会为当前系统的内存碎片情况打①个分, 如果超过了extfrag_threshold这个值, kswapd就会触发memory compaction . 所以, 这个值设置接近①⓪⓪⓪ · 说明系统在内存碎片的处理倾向于把旧的页换出, 以符合申请的需要; 而设置接近⓪ · 表示系统在内存碎片的处理倾向于做memory compaction.
由于这台机器在做memory compaction的时候对性能造成的影响太大, 于是我把extfrag_threshold这个值从系统默认的⑤⓪⓪设置到了最大①⓪⓪⓪ 设置完了之后, 这台机器就再也没出现过类似问题, 问题解决.
剩下的疑问
我只是通过现象观察到做memory compaction的时候系统IO增高, 但是我还是不是很理解为什么做memory compaction会涉及到大量的pagein操作, 并且维持时间如此之久?
其他说明
如果真的出现了memory compaction, 导致系统卡顿的情况, 可以通过下面②步手工缩短处理过程:
echo ① > /proc/sys/vm/drop_cachesecho ① > /proc/sys/vm/compact_memory
这个实质就是减少memory compaction的内存总量, 然后手工去整理. 测试发现效果不错
参考
编后语:关于《linux驱动如何更新?如何控制Linux清理cache机制》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《我的谷歌浏览器与win7系统貌似不兼容了?装完WIN7不能上网如何装主板驱动》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器