暂无图片
Linux数据库服务器buffer/cache清理
我来答
分享
李加满
2020-09-27
Linux数据库服务器buffer/cache清理

大家好:
请教一个问题,我的服务器内存使用情况如下:
image.png
目前内存中buff/cache有89GB,但是下面的Swap空间已经耗尽了。

现在我存在的问题是:我每天需要使用rsync命令把这台服务器上的数据库备份(schema_xxx.dmp)传到其它地方,备份文件最大为5.8GB。现在每次备份都会有成功的文件,也有失败的文件,报错如下:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Connection timed out (110)
rsync error: timeout in data send/receive (code 30) at io.c(137) [receiver=3.0.9]
rsync: connection unexpectedly closed (465745 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]

我的备份命令为:
rsync -avz --port 12345 --progress --contimeout=120 --timeout=36000 …略

理论上不会存在超时问题,目前我初步判定:rsync在传输文件时,需要把文件先缓存在内存,后续再传送到其它机器上,因此,报错是因为内存不够用导致
我现在很想使用网上介绍的方法清除Linux的缓存:
echo 1 > /proc/sys/vm/drop_caches

但是我比较担心会造成数据库异常,请问这种方法可行吗?谢谢。

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
朱贺
2020-09-28

是否因为文件过大导致的呢?可以观察每次失败时是否可以找到什么规律,比如文件大小都超过多大?如果是这样可以修改超时时间,实在看不出来建议strace跟踪一下是否能更详细的显示出问题。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏