今日发现线上一微服务无法启动查看了一下物理内存,居然只剩下了1G然来居然是buff/cache一列占用过高:
Linux具有先进的缓存机制,会针对会针对dentry(用于VFS加速文件路径名到inode的转换)、Buffer Cache(针对磁盘块的读 写)和Page Cache(针对文件inode的读写)进行缓存操作用来提高读写效率。但是在进行了大量文件操作之后缓存会把内存资源 基本用光,虽嘫文件 读取效率提高了,但是物理内存会逐渐被吃光
然来是因为服务进行了频繁的文件读写操作,但是为什么操作系统不会主动回收呢原来是因为drop_caches的默认参数设置的就是不释放的
发布了41 篇原创文章 · 获赞 8 · 访问量 1万+