记,linux_mssql数据服务器磁盘100%爆满异常处理

55gY 13 0

先说结论,以及最终处理方式

温馨提示


0.小水坑,邪修,菜鸡,不是正统穴深(学生)流[aru_58],全靠随心自学
1.磁盘占用100%,千万不要使用重启大法!
2.如果怀疑是什么服务导致的,服务在使用中,不要尝试重启服务
忘记以上操作,你会得到一天的忙碌[aru_19]嗯,小公司上班摸鱼的可以试试

1.先查找大文件,使用du -sh 一级一级往下排查出磁盘占用最大的文件

du -sh /*
-- 找到大文件的目录例如/var,一级一级往下查,查询到磁盘占用最大的文件
du -sh /var/*

2.找到最大的文件是templog.ldf,古哥搜索说是tempdb的日志文件.然后就是考虑重建或者删除

-- 查看tempdb当前大小
exec sp_helpdb tempdb
-- 对tempdb进行收缩,日志太大导致磁盘爆满
use tempdb
dbcc shrinkfile('tempdev')
use tempdb
dbcc shrinkfile('templog') 

回顾-张智操作


rm并不是万能的

-- 错误示范
rm -rf /var/mssql/data/backup/xxx.bak
-- 删除文件后查询下磁盘占用
df -h
-- 磁盘空间并没有减少,在次询问古哥
--   出来的都是删除的文件被某服务占用了,kill掉这个服务就可以?[aru_51]
lsof | grep '(deleted)'
kill xxx
-- 然并卵,再次古哥.另外一种说法
--   linux删除文件是懒删除?需要先把文件大小置0再删除
truncate -s 0 /var/mssql/data/backup/xxx.bak
ls -l
-- 文件大小已置0
df -h
-- 无效,磁盘空间没有减少
-- 姿势不对?[aru_27]换另外一种置文件大小为0的操作
echo  -n "" > /var/mssql/data/backup/xxx.bak
ls -l
-- 文件大小已置0
df -h
-- 无效,磁盘空间没有减少


古哥大法已经无效了?[aru_44],那就换一种方式

TIMI启动


[aru_31]搞错了,是Gemini
把问题都描述给Gemini,按照给出的回答操作

1.先查找大文件,使用du -sh 一级一级往下排查出磁盘占用最大的文件

du -sh /*
-- 找到大文件的目录例如/var,一级一级往下查,查询到磁盘占用最大的文件
du -sh /var/*

2.找到最大的文件是templog.ldf,古哥搜索说是tempdb的日志文件.然后就是考虑重建或者删除记,linux_mssql数据服务器磁盘100%爆满异常处理

-- 查看tempdb当前大小
exec sp_helpdb tempdb
-- 对tempdb进行收缩,日志太大导致磁盘爆满
use tempdb
dbcc shrinkfile('tempdev')
use tempdb
dbcc shrinkfile('templog') 

本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

发表评论 取消回复
表情 图片 链接 代码