记一次由于linux buff cache引发的问题

简介

  • 在前一段时间,在帮一个朋友处理一个问题是时,遇到这么一个问题。功能做的是一个vue分片式上传,在测试定位问题时,我就发现,分片上传14次,其中有那么一两次是上传失败,导致文件上传不完整。报了以下截图的错误。后来经过多次问题定位,发现不是分片的问题,因为之前是一直上传成功的。最后定位到linux资源,发现buff/cache占用过高


所以最后的处理方法就是:
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分配器中的缓存对象。
阅读 97

推荐阅读