专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

什么是PageCache?为什么需要PageCache?

  应用程序产生PageCache的逻辑示意图
  红色的地方就是PageCache,很明显,PageCache是内核管理的内存,也就是说,它属于内核不属于用户。
  如何观察PageCache?在Linux上直接查看PageCache的方式有很多,包括procmeminfo、free、procvmstat命令等,它们的内容其实是一致的。拿procmeminfo命令举例看一下:
  catprocmeminfo
  。。。
  Buffers:1224kB
  Cached:111472kB
  SwapCached:36364kB
  Active:6224232kB
  Inactive:979432kB
  Active(anon):6173036kB
  Inactive(anon):927932kB
  Active(file):51196kB
  Inactive(file):51500kB
  。。。
  Shmem:10000kB
  。。。
  SReclaimable:43532kB
  根据上面的数据,你可以简单得出这样的公式(等式两边之和都是112696KB):
  BuffersCachedSwapCachedActive(file)Inactive(file)ShmemSwapCached
  那么等式两边的内容就是我们平时说的PageCache。请注意你没有看错,两边都有SwapCached,之所以要把它放在等式里,就是说它也是PageCache的一部分。等式右边这些项把Buffers和Cached做了一下细分,分为了Active(file),Inactive(file)和Shmem,因为Buffers更加依赖于内核实现,在不同内核版本中它的含义可能有些不一致,而等式右边和应用程序的关系更加直接,所以我们从等式右边来分析。
  在PageCache中,Active(file)Inactive(file)是Filebackedpage(与文件对应的内存页),是你最需要关注的部分。因为你平时用的mmap()内存映射方式和bufferedIO来消耗的内存就属于这部分,最重要的是,这部分在真实的生产环境上也最容易产生问题,我们在接下来的课程案例篇会重点分析它。
  而SwapCached是在打开了Swap分区后,把Inactive(anon)Active(anon)这两项里的匿名页给交换到磁盘(swapout),然后再读入到内存(swapin)后分配的内存。由于读入到内存后原来的SwapFile还在,所以SwapCached也可以认为是Filebackedpage,即属于PageCache。这样做的目的也是为了减少IO。
  通过下面简单的示意图明白SwapCached是怎么产生的:
  SwapCached只在Swap分区打开的情况下才会有,而我建议你在生产环境中关闭Swap分区,因为Swap过程产生的IO会很容易引起性能抖动。
  PageCache中的Shmem是指匿名共享映射这种方式分配的内存(free命令中shared这一项),比如tmpfs(临时文件系统),这部分在真实的生产环境中产生的问题比较少。
  free命令中的buffcache究竟是指什么呢?
  free命令也是通过解析procmeminfo得出这些统计数据的,这些都可以通过free工具的源码来找到。free命令的源码是开源,你可以去看下procfs里的free。c文件,源码是最直接的理解方式,它会加深你对free命令的理解。
  freek
  totalusedfreesharedbuffcacheavailabl
  Mem:792658072779604923921000015622843068
  Swap:82247643807487844016
  通过procfs源码里面的procsysinfo。c这个文件,你可以发现buffcache包括下面这几项:
  buffcacheBuffersCachedSReclaimable
  通过前面的数据我们也可以验证这个公式:122411147243532的和是156228。
  free命令中的buffcache是由Buffers、Cached和SReclaimable这三项组成的,它强调的是内存的可回收性,也就是说,可以被回收的内存会统计在这一项。
  SReclaimable是指可以被回收的内核内存,包括dentry和inode等。
  掌握了PageCache具体由哪些部分构成之后,在它引发一些问题时,你就能够知道需要去观察什么。比如说,应用本身消耗内存(RSS)不多的情况下,整个系统的内存使用率还是很高,那不妨去排查下是不是Shmem(共享内存)消耗了太多内存导致的。
  为什么需要PageCache?
  第一张图你其实已经可以直观地看到,标准IO和内存映射会先把数据写入到PageCache,这样做会通过减少IO次数来提升读写效率。
  看一个具体的例子。首先,我们来生成一个1G大小的新文件,然后把PageCache清空,确保文件内容不在内存中,以此来比较第一次读文件和第二次读文件耗时的差异。具体的流程如下。先生成一个1G的文件:
  ddifdevzeroofhometestdd。outbs4096count((1024256))
  2。清空PageCache,需要先执行一下sync来将脏页同步到磁盘再去dropcache。
  syncecho3procsysvmdropcaches
  3。第一次读取文件的耗时如下:
  timecathometestdd。outdevnull
  real0m5。733s
  user0m0。003s
  sys0m0。213s
  再次读取文件的耗时如下:
  timecathometestdd。outdevnull
  real0m0。132s
  user0m0。001s
  sys0m0。130s
  第二次读取文件的耗时远小于第一次的耗时,这是因为第一次是从磁盘来读取的内容,磁盘IO是比较耗时的,而第二次读取的时候由于文件内容已经在第一次读取时被读到内存了,所以是直接从内存读取的数据,内存相比磁盘速度是快很多的。这就是PageCache存在的意义:减少IO,提升应用的IO速度。

星落凝成糖定档2月16日,陈星旭李兰迪开启春日撒糖之旅!由刘宁工作室承制,朱锐斌执导,陈星旭李兰迪陈牧驰何宣林等主演的古装神话爱情剧星落凝成糖正式定档2月16日在浙江卫视中国蓝剧场播出。与此同时,官方发布定档预告及海报,释出剧中众多亮点改变战局!塞拉斯用他替换申京,泰特杰伦格林懵了,热火也懵了!废话不说,直接回到第四节巴特勒的绝杀回合。此时火箭场上的五个人泰特小史密斯马丁格林尼克斯。可能是为了应对热火阵容的机动性,塞拉斯把申京放在了板凳上,取而代之的是戴申尼克斯。热火边线T汤普森和女儿合影!小丫头天生丽质大长腿,身穿公牛队球衣头条创作挑战赛北京时间2月13日,前NBA球员,目前的评论员特里斯坦汤普森晒出了女儿的图片。不到5岁的特鲁,变化非常大,尤其是身高。在照片中,特鲁身穿公牛队的比赛服,未来有可能成为多款优秀坦克现已加入置换清单,全新置换活动车辆盘点ampampamp推荐!各位车长大家好!折价置换活动再次回归,是时候将车库中的老家伙换成新朋友啦!本次折价置换活动中可以置换获得的新朋友坦克清单增加了4辆之前只能在特惠商城中购买的坦克VK7501(K)索黑暗之魂3第一人称mod发布!黑魂3第一人称视角新玩法!黑暗之魂3相信大家都不陌生吧,不过你是否想过用第一人称来游玩这款游戏呢?今年1月有人发布了第一人称黑魂MOD,将黑魂3整体改为了FPS视角,一起来看看吧作者表示,该MOD虽然听起来JJPLAY电竞报虎帝力挽狂澜击败JDG!谈到Karsa,小虎却不开心了LPL春季赛常规赛进行中,WBG以21艰难击败了JDG,让JDG尝到开季首败。在这场鏖战之中,最大功臣可说是中单选手小虎了,在决胜局使用辛德拉抢到大龙,力挽狂澜带队翻盘!小虎的操作梦幻西游能通刷一切的109五庄观,愤怒5特技加身,堪比百套号!Hello大家好,我是浩仔!关注浩仔,每天给你带来最新梦幻西游游戏资讯!以下点评仅代表个人意见,不代表官方或平台立场。作为梦幻西游的老玩家,你初入梦幻的时候,玩的是哪个门派呢?浩仔什么是脾之谷李时珍将白扁豆称为脾之谷!在本草纲目中,他说到其性温平,得乎中和,脾之谷也。入太阴气分,通利三焦,能化清降浊,故专治中宫之病,消暑除湿而解毒也。专治中宫之病,点出了白扁豆的作用之处五色养五脏,绿色入肝!春季多吃这4种绿叶菜,安稳度春俗话说百草回芽,百病易发,春天是草木发芽的季节,也是容易引发疾病的特殊时节。早就很久就有书上记载,春天少酸多甘,以养脾气之说。春季的肝火比较旺盛,起居上应避免熬夜,尽量早睡早起,适血脂正常了,便可以停服降脂药吗?提到他汀类药物,相信很多人,尤其心脑血管疾病患者都不陌生。在医生眼中,这是临床上最常用疗效最确切的降胆固醇的调脂药。不过,大众对他汀类药物依然有很多疑问,比如我血脂正常了,为什么还肿瘤是不是吃出来的?听听肿瘤医院专家的建议相关数据显示,肿瘤与膳食的营养结构相关的发生风险大约占20。近日复旦大学附属肿瘤医院肿瘤预防部主任主任医师郑莹在参加活到一百岁节目时这样表示,肿瘤和吃是有一定的关系,但却不全是,有
无欲则刚楚昭王被伍子骨打垮,仓皇出选。宰羊店的老板屠羊说也跟着昭王出退。昭王回国复任后,奖赏随同选难的人,鼓励忠诚之士,屠羊说也受到奖赏。屠羊说觉得不妥当大王失去国家,我也失去了杀羊的营生蒋孝勇提议两蒋归葬大陆却遭拒绝,坦言父亲晚年看错了人蒋介石父子的遗嘱蒋介石在生前曾亲自选定三处风水宝地作为自己的墓地第一处墓穴在溪口自己母亲的墓穴旁边。1921年蒋介石母亲病故,蒋介石聘请了一位风水先生,为母亲在西翠屏山一带选择了一85年周而复参观靖国神社,回国后被开除党籍,16年后中纪委平反自1931年九一八事变伊始到1945年9月2日日本无条件投降结束,十四年抗战史的艰辛被每个中国人铭记在心。而作为战败国的日本不仅没有承认自己的罪行,反而建立靖国神社供奉战死的士兵。清朝格格流落街头,章士钊请求中央照顾,毛主席是个有志气的人1960年1月26日,正是除夕。在北京东城区就任区政协委员的金蕊秀,接到了一个通知前往载涛家里集合。在那里,她看到了溥仪溥杰等人,随后他们一起来到了全国政协。金蕊秀这才知道是周总理特斯拉正式向新加坡客户交付ModelY,比国内贵10多万特斯拉正式开始向新加坡交付备受期待的ModelY。这种汽车在那里很受欢迎,甚至有望很快创造新的销售纪录。在恢复了全部生产能力后,特斯拉上海超级工厂加快了生产速度。6月初,该公司在包东软载波公司部分MCU产品可用于新能源汽车充电桩集微网消息(文余昕)有投资者在投资者互动平台提问请问贵公司有没有可以用于新能源汽车充电桩方面的产品?针对该问题,东软载波9月5日在投资者互动平台表示,公司目前有部分MCU产品可以用TokenNFT和元宇宙,不能分离的结合让我们先从Token加密货币开始说起。提到加密货币,很多不了解的人对其第一印象就是空气币割韭菜和庞氏骗局。对于NFT,一部分同学估计也是保持着相同的观点。当我们看着比特币以太坊往上上汽新能源汽车飞凡汽车优点ER6最让人满意的就是性价比了,当初买车的时候,还送了一张绿牌,物美价廉,物美价廉。外观他也是个爱面子的人,第一眼看到这辆车的时候,就被这辆车的外观给吸引住了。内饰中控财联社创投通8月半导体一级市场融资总额环比减近三成26家公司获投超亿元科创板日报9月5日讯(研究员章银海顾瑞雪段依尘王锋)据财联社创投通数据显示,8月国内半导体领域统计口径内共发生53起私募股权投融资事件,较上月63起减少15。878月已披露融资事件中芯国际直接花大手笔,宣布重要决定,这情况不是台积电想看到的在近些年来各国对于芯片的制造可以说都是花费了大量的人力以及物力,尤其是在大国之间对于各类芯片的建造更是成为了一种私下的技术竞争,然而就在这样的情况之下我国更是在这一方面受到了西方国快递员送货不上门,可获赔5元!又一快递公司加入服务战南都湾财社记者日前获悉,顺丰速运从9月5日开始,在全国50个主要大中城市同时亮出派件不上门,承诺必赔付的服务承诺。用户在反馈意见核实无误后,即可获得5元客户体验保障红包。据悉,顺丰
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网