mysql導致tmp目錄空間耗盡問題

mysql導致tmp目錄空間耗盡問題

 

收到磁盤空間告警的信息,/tmp目錄磁盤使用率99%。

  www.aiwalls.com  

mysql 的 tmpdir 設置在/tmp目錄,第一時間查看 ls -alth 並為發現大文件,也沒有mysql臨時表之類的文件。

連接mysql,show processlist 並為發現異常查詢 ……

 

整個/tmp目錄8GB,用查看df -h 發現/tmp Avail 值剩下100MB左右;du -sh 發現tmp目錄隻用瞭幾十MB。7GB多的空間哪裡去瞭?未釋放?

 

通過lsof |grep tmp |more 發現其中一個mysql實例很多類似 /tmp/MLXvlID8 (deleted)

 

 

查看mysqld.err中發現有多行: [ERROR] /mysql_base/bin/mysqld: Sort aborted

  www.aiwalls.com  

猜測:Sql異常終止,導致sort aborted 。而臨時目錄下的/tmp/ML****** 等文件雖然刪除,但由於mysql線程連接是長連接,線程還存在,暫時不會釋放空間。

 

若想釋放空間:

1.重啟mysql;

2.重啟應用程式,斷開長連接。

 

結果:

應用程式重啟,長連接斷開,刪除的空間就釋放瞭。

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *