解決linux buffer/cache 消耗內存過高引發的問題

工作中接到DBA報障某臺服務器 跑一些大的數據,服務器就無法遠程連接,報錯,抓過日誌叫DELL工程師檢測也沒問題,系統也重裝過,

現在些一些較大的數據就會報如 圖錯誤,由於服務器遠在異地城市IDC機房,ssh也無法登錄,於是使用iDRAC 遠程管理卡連接到該臺機器,通過控制檯連接到服務器,看到如下圖報錯:

IDRC報錯

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

內 存使用量激增。通常情況下,是由於業務程序導致的。


Image.jpg (295.72 KB, 下載次數: 0)

IDRC報錯


QQ圖片20151011213837.png (7.69 KB, 下載次數: 0)

QQ圖片20151011213837.png
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章