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

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

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

wKioL1YpoVTw4z-8AAOLzNMS8As725

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_cache

即可清空buff/cache,目前此设备内存已恢复正常;

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

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

wKiom1YpoYfwxhbZAACp7KJTxhM185

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 68 queries in 0.404 seconds