淘优惠

淘优惠

dockerbuffcache占用过高 linux buffer cache 过高

热门文章 0
docker容器,docker菜鸟教程,docker和虚拟机的区别,dockerfile

近期一台服务器运行中查看内存容量时发现buff/cache占用过高,几乎占用百分之70

什么是buffer/cache?

buffer和cache是两个在计算机技术中被用滥的名词,放在不通语境下会有不同的意义。在Linux的内存管理中,这里的buffer指Linux内存的:Buffer cache。这里的cache指Linux内存中的:Page cache。翻译成中文可以叫做缓冲区缓存和页面缓存。在历史上,它们一个(buffer)被用来当成对io设备写的缓存,而另一个(cache)被用来当作对io设备的读缓存,这里的io设备,主要指的是块设备文件和文件系统上的普通文件。但是现在,它们的意义已经不一样了。在当前的内核中,page cache顾名思义就是针对内存页的缓存,说白了就是,如果有内存是以page进行分配管理的,都可以使用page cache作为其缓存来管理使用。当然,不是所有的内存都是以页(page)进行管理的,也有很多是针对块(block)进行管理的,这部分内存使用如果要用到cache功能,则都集中到buffer cache中来使用。(从这个角度出发,是不是buffer cache改名叫做block cache更好?)然而,也不是所有块(block)都有固定长度,系统上块的长度主要是根据所使用的块设备决定的,而页长度在X86上无论是32位还是64位都是4k。

什么是page cache?

Page cache主要用来作为文件系统上的文件数据的缓存来用,尤其是针对当进程对文件有read/write操作的时候。如果你仔细想想的话,作为可以映射文件到内存的系统调用:mmap是不是很自然的也应该用到page cache?在当前的系统实现里,page cache也被作为其它文件类型的缓存设备来用,所以事实上page cache也负责了大部分的块设备文件的缓存工作。

什么是buffer cache

Buffer cache则主要是设计用来在系统对块设备进行读写的时候,对块进行数据缓存的系统来使用。这意味着某些对块的操作会使用buffer cache进行缓存,比如我们在格式化文件系统的时候。一般情况下两个缓存系统是一起配合使用的,比如当我们对一个文件进行写操作的时候,page cache的内容会被改变,而buffer cache则可以用来将page标记为不同的缓冲区,并记录是哪一个缓冲区被修改了。这样,内核在后续执行脏数据的回写(writeback)时,就不用将整个page写回,而只需要写回修改的部分即可。

如何回收cache?

Linux内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。一般情况下,这个操作中主要的内存释放都来自于对buffer/cache的释放。尤其是被使用更多的cache空间。既然它主要用来做缓存,只是在内存够用的时候加快进程对文件的读写速度,那么在内存压力较大的情况下,当然有必要清空释放cache,作为free空间分给相关进程使用。所以一般情况下,我们认为buffer/cache空间可以被释放,这个理解是正确的。

但是这种清缓存的工作也并不是没有成本。理解cache是干什么的就可以明白清缓存必须保证cache中的数据跟对应文件中的数据一致,才能对cache进行释放。所以伴随着cache清除的行为的,一般都是系统IO飙高。因为内核要对比cache中的数据和对应硬盘文件上的数据是否一致,如果不一致需要写回,之后才能回收。

在系统中除了内存将被耗尽的时候可以清缓存以外,我们还可以使用下面这个文件来人工触发缓存清除的操作:

[root@tencent64?~]#?cat?/proc/sys/vm/drop_caches?

1

方法是:

echo?1?>?/proc/sys/vm/drop_caches

当然,这个文件可以设置的值分别为1、2、3。它们所表示的含义为:

echo?1?>?/proc/sys/vm/drop_caches:表示清除pagecache。

echo?2?>?/proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。

echo?3?>?/proc/sys/vm/drop_caches:表示清除pagecache和slab分配器中的缓存对象。

由于linux系统会尽量多地使用物理内存进行数据的缓存以提高IO吞吐率,具体体现在 buff/cache 会有较高的占用率。这种现象一般出现在高IO吞吐需求业务的机器上,如数据库。这是一种正常现象。

更多相关信息,您可以参考下面KB:

What is cache in "free -m" output and why is memory utilization high for cache?



个人怎样用dhl寄国际快递 DHL国际快递如何寄件

如何用dhl寄国际快递,如何使用dhl寄国际快递,怎么用dhl寄快递去国外,dhl国际快递个人怎么寄

外贸、跨境电商发展很快,DHL快递也国内跨境电商卖家以及外贸企业的主要物流方式之一,对于刚入行的小白来着还是会比较迷茫,因为跟国内快递还是有一定的区别,因为涉及一些海关关税以及地址区别运费问题,下面百运网就为大家介绍如何寄DHL快递↓

DHL国际快递邮寄流程:

1.DHL运单填写指引:

①寄件人资料填写

  • 寄件人姓名
  • 寄件人地址或公司名
  • 寄件人邮编
  • 寄件人联系方式

②收件人资料填下,与寄件差不多流程

  • 收件人账号
  • 收件人地址或公司名
  • 收件人邮编
  • 收件人的联系方式

③交运快件资料:

  • 总件数
  • 总重量
  • 材积尺寸

④货物发票填写小tips:

发票需填中、英文品名,单件数量、总数,单价、总价,中英文互译这个看似小事,其实真的可以避免一些物品品名不清而被扣下!

⑤收件地关税/税金支付方式:

关税一块都是根据海关规定,货物都是以货值分为4类:

A类:没有商业价值的文件资料

B类:价值在500元人民币下的货物

C类:5000元以下的货物

D类:超过人民币5000元的货物

其中:B类以及C类一般都需要提供【正本发票】,D类的就要增加装箱单等文件来支撑一般贸易货物形式的清关;个别国家及特殊产品有特殊需求另外提供。

⑥运费支付方式:预付、到付

1)预付:运费由寄件人支付。

2)到付:运费由收件人或第三方帐号支付。

⑦重量以及尺寸:

1)计费重量以毛重和体积重量相比,取二者中较大者。体积重量的是用长X宽X高/5000得出。

2)大部分国家无重量限制,一般单件重量不超过100KG,长*宽*高《=2.9米,如超过2.9米,需预订航仓安排。

上面都过了一遍理论知识,相信对于寄国际快递已有大概的认识,下面大家来实操一遍~一键就发DHL国际快递↓

1.点击头条小程序查询DHL费用,免费查价比价↓

1)在线查价比价,选择合适渠道

(此处已添加小程序,请到今日头条客户端查看)

1.清晰明了价格、时效等信息即可下单寄出!与寄国内快递同样简单!货代有量大优势,更可以享受比DHL官网低至2折的价格!

2.货代上门提货

在线下单后,百运网上门揽件,也可通过国内快递把货物发到泰百运网仓库。

3.成功发出

百运网在运转中心进行邮件分拣,交DHL转运中心即可,等待对方收件!

DHL国际快递是四大国际快递之一,在国际物流中有着举足轻重的地位,相信是做国际物流、外贸人以及留学海归人士都很熟悉,无论是进出或出口,DHL快递都像国内快递一样的快速选择,大家有需要可以对比价格,选择自己所需。↓

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至【【邮箱】】 举报,一经查实,本站将立刻删除。如若转载,请注明出处:【【网址】】/227675.html


..淘宝qq群里做活动的是什么东西,淘宝qq群里做活动的是什么东西,618淘宝互助微信群怎么进入,什么是拼多多助力群?拼多多500人助力微信群二维码如何获取? 这个2023年 618天猫狂欢盛典互点群是什么意思啊里有很多热心的人,分享玩法经验。加入我们,一起完成任务。