解决linux buffer/cache 消耗内存过高引发的问题

工作中接到DBA报障某台服务器 跑一些大的数据,服务器就无法远程连接,报错,抓过日志叫DELL工程师检测也没问题,系统也重装过,

现在些一些较大的数据就会报如 图错误,由于服务器远在异地城市IDC机房,ssh也无法登录,于是使用iDRAC 远程管理卡连接到该台机器,通过控制台连接到服务器,看到如下图报错:

1、内存占用量:dd过程内核会用大量内存作为磁盘数据的缓存,由于写入8.5T;
2、从设备来看,内存主要消耗在buff中:
3、dd if=/dev/zero of=/data$i/test bs=1M count=9000000 conv=fdatasync  &
参数fdatasync作用 :1)保证数据刷新到磁盘、2)没有把文件元数据刷到磁盘中;
由于特性2),造成buff占用量激增;

具体可参考:http://www.2cto.com/os/201205/131568.html

4、通过echo 3 > /proc/sys/vm/drop_caches,即可清空buff/cache,目前此设备内存已恢复正常;

sar -r -f /var/log/sa/sa17

内 存使用量激增。通常情况下,是由于业务程序导致的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-24 05:22:23

解决linux buffer/cache 消耗内存过高引发的问题的相关文章

Linux 查看进程消耗内存情况总结

在Linux中,有很多命令或工具查看内存使用情况,今天我们来看看如何查看进程消耗.占用的内存情况,Linux的内存管理和相关概念要比Windows复杂一些.在此之前,我们需要了解一下Linux系统下面有关内存的专用名词和专业术语概念: 物理内存和虚拟内存 物理内存:就是系统硬件提供的内存大小,是真正的内存,一般叫做内存条.也叫随机存取存储器(random access memory,RAM)又称作"随机存储器",是与CPU直接交换数据的内部存储器,也叫主存(内存). 虚拟内存:相对于物

Linux buffer/cache异同

buffers与cached 1).异同点 在Linux 操作系统中,当应用程序需要读取文件中的数据时,操作系统先分配一些内存,将数据从磁盘读入到这些内存中,然后再将数据分发给应用程序:当需要往文件中写 数据时,操作系统先分配内存接收用户数据,然后再将数据从内存写到磁盘上.然而,如果有大量数据需要从磁盘读取到内存或者由内存写入磁盘时,系统的读写性 能就变得非常低下,因为无论是从磁盘读数据,还是写数据到磁盘,都是一个很消耗时间和资源的过程,在这种情况下,Linux引入了buffers和 cache

释放虚拟机buffer/cache的内存

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分配器中的缓存对象. 原文地址:https://ww

linux page buffer cache深入理解

Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free Output).例如: FO[2][1] = 24677460 FO[3][2] = 10321516 1          2          3          4          5          61              total       used       free     shared    buffers

linux buffer与cache区别

A buffer is something that has yet to be "written" to disk. A cache is something that has been "read" from the disk and stored for later use. 更详细的解释参考:Difference Between Buffer and Cache cache 和 buffer的区别: Cache: 1.高速缓存硬件,是位于CPU与主内存间的一

linux buffer 与 cache 的区别

linux buffer 与 cache 的区别.A buffer is something that has yet to be "written" to disk.A cache is something that has been "read" from the disk and stored for later use.两者都是RAM中的数据.简单来说,buffer(缓冲)是即将要被写入磁盘的,而cache(缓存)是被从磁盘中读出来的 缓冲(buffers)

Linux系统中的Page cache和Buffer cache

Linux系统中的Page cache和Buffer cache Free命令显示内存 首先,我们来了解下内存的使用情况: Mem:表示物理内存统计 total:表示物理内存总量(total = used + free) used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用. free:未被分配的内存. shared:共享内存. buffers:系统分配但未被使用的buffers 数量. cached:系统分配但未被使用的cache 数量.

Linux中buffer/cache,swap,虚拟内存和page ++

1.Buffer 和 cache Free 命令相对于top 提供了更简洁的查看系统内存使用情况: [[email protected] ~]$ free -m               --以MB为单位                     total         used       free     shared    buffers     cachedMem:            32109      30133      1975          0        472

Oracle学习之buffer cache

1.block.buffer的概念 简述段区块的概念,引出块的概念 buffer的概念2.buffer cache的意义 减少IO 物理IO:磁盘读 逻辑IO:内存读 构造cr块:以后讲 undo引出来:回滚未提交数据:构造cr块 只要未提交,就可以回滚 只要未提交,别的会话就看不见修改3.buffer cache的内存组织结构 CBC:cache buffer chain 根据block地址找block的时候,需要使用到CBC chain LRU:最近最少使用 LRU.MRU LRUW 4.D