今天执行查询sql的时候,查询数据量比较大,后台报了SQLException , mysql临时写入磁盘不足问题
然后登录云服务查询看磁盘使用情况
看到磁盘使用情况100%
一般资源不足两种解决办法
1.升级服务器配置 升级服务就不说了
2.删除不使用占资源的文件
首先:查看服务器磁盘使用情况
命令:df -h 注 :查看磁盘分配大小及使用情况
查看情况如下: 当时看到已使用的 (used:37G use% 100% )!下面图片是处理过后的截图
然后cd到根路径 使用 du -sh * ,命令查看文件使用情况
命令: **du -sh * ** 注:查看当前文件大小
看到var使用了24G
进入var文件夹查看再次执行 **du -sh *** 命令 查看占用磁盘比较大的文件 以此类类推
我这边是在 “/var/lib/mysql#” 文件下 有个文件占了22G 果断 rm -f +文件名字 命令 删除此文件
再次执行 df -h命令 查看磁盘情况 什么变化也没有!!!! 磁盘使用还是100% 37G
回到服务器根路径下 执行 du -sh 确实磁盘空间使用大小只有16G
在网上查了一下原因 ,这是因为我们在删除的时候 rm -f 只是将文件的链接解除,如果此时有进程打开文件,系统是不会回收文件。
网上找了两个解决办法
1.重启云服务器 让服务器自动释放已删除的资源
2.lsof|grep deleted 命令 查看一删除文件pid 然后kill掉 在次查看 df -h命令 就释放掉了
贴个图
找到刚才删除的文件 ,看一下它的pid 然后执行 kill -9 +pid 就好了