Linux

/tmp 為 1.8Gb;刪除超過 8 天的文件只刪除了 ~300mb .. 什麼佔用了這麼多空間?

  • February 9, 2013

我在 CentOS 上執行一個網路伺服器。

今天我無法執行任何 SQL 查詢。經調查,error 28我的/tmp目錄無法寫入。

我跑了du /tmp,它是 1.8Gb。然後我執行find /tmp -type f -mtime +8 -exec rm -f {} \;它釋放了 300Mb 空間。

現在,這已經完成了工作——MySQL 可以再次執行。

但是,我很好奇為什麼伺服器的/tmp目錄中有這麼多文件。我已經重新啟動了兩次伺服器,並且目錄大小保持不變。大多數Linux發行版不會在重新啟動時清除臨時文件嗎?

如果我執行ls /tmp,我會得到大量此類文件的列表:

tempCaa7Nw                             tempk7uZU4  temps3GaF1  tempzzWWjV
tempcAbH5o                             tempK7VCdu  temps3hRWv  tempZzXHPM
tempCabZXR                             tempk7VwjK  temps3IdYj  tempzzxZWw
tempcAcQtu                             tempk7W0SI  tempS3IGMF  tempzZy7FM
tempCaCTkx                             tempk7xrzw  tempS3iMfj  tempzZy8L6
tempcAcur7                             tempk7yX3J  tempS3izd5  tempZZYKXr
tempcaCwnz                             tempk81EIE  tempS3JU5s  tempzZyQLO
tempcAdpAk                             tempk81Qpo  tempS3kaNx  tempzZZos7
tempCaeFae                             tempk81ZLV  tempS3KYOx
tempcaEGmt                             tempk83VVy  tempS3LI1u

完整列表在這裡

我需要找出導致這麼多臨時文件的原因嗎?還是我只需要增加/tmp目錄的大小(或其他東西?)?那是在某個配置文件中嗎?

我是一個可憐的linux管理員,所以請原諒我的無知。


編輯@JeffFerland

這是輸出文件的grep /tmp結果lsof

mysqld     4649   mysql    4u      REG                7,0         0     103774 /                                          tmp/ib4mpAJ8 (deleted)
mysqld     4649   mysql    5u      REG                7,0         0     103775 /                                          tmp/ibvE7FxN (deleted)
mysqld     4649   mysql    6u      REG                7,0         0     103776 /                                          tmp/ibPe3Lls (deleted)
mysqld     4649   mysql    7u      REG                7,0         0     103777 /                                          tmp/ib656Kb7 (deleted)
mysqld     4649   mysql   11u      REG                7,0         0     103778 /                                          tmp/ibpptQzP (deleted)
cp         7997    root    3r      REG                7,0     18897      28260 /                                          tmp/tempF091j1
cp         7997    root    4w      REG                9,1         0     297690 /                                          tmp_bu/tmp/tempF091j1 (deleted)

附加編輯 昨天刪除了大約 300Mb 的文件後,我的/tmp目錄又恢復到了 1.8Gb 的原始大小,而且 MySQL 再次無法正常工作。

請幫忙!

這些文件中的大多數具有相同的大小。檢查其中之一。我的第一個猜測是您的伺服器接受文件上傳並且如果您不使用上傳的文件則不會清理。

您可以嘗試的一件事是使用該lsof命令列出作業系統目前正在使用的所有文件。這可能會讓您了解哪些正在執行的程序正在創建/使用這些 /temp.*/ 文件。從那裡開始,假設您發現哪個程序是罪魁禍首,我將深入研究哪些配置選項可用於減少文件垃圾郵件。

引用自:https://serverfault.com/questions/477064