導(dǎo)出數(shù)據(jù)的時(shí)候提示表滿了。
1. tmp空間不足:
tmp_table_size = 1024M
max_heap_table_size = 1024M
2. 磁盤(pán)空間不足:? ? ??清理磁盤(pán)空間.
在linux服務(wù)器執(zhí)行程序時(shí)報(bào)錯(cuò):awk: write failure (No space left on device) awk: close failed on file /dev/stdout (No space left on device)參考:
https://blog.csdn.net/liuxiangke0210/article/details/54924786
1. df命令用于顯示磁盤(pán)分區(qū)上的可使用的磁盤(pán)空間框沟。默認(rèn)顯示單位為KB疑故。可以利用該命令來(lái)獲取硬盤(pán)被占用了多少空間糜值,目前還剩下多少空間等信息嵌洼。
https://man.linuxde.net/df
采用df命令查看占用情況2. du命令也是查看使用空間的妻柒,但是與df命令不同的是Linux du命令是對(duì)文件和目錄磁盤(pán)使用的空間的查看惫霸,還是和df命令有一些區(qū)別的。 https://man.linuxde.net/du采用:
du -sh /* | sort -nr
查看3. 找到最大的目錄葱弟,自行查找原因壹店,我自己是發(fā)現(xiàn)有服務(wù)一直寫(xiě)錯(cuò)誤日志4. 刪除大文件后重新用df檢查?
通過(guò) du 和 df 檢查磁盤(pán)空間
在開(kāi)始行動(dòng)前,最好先檢查一下是否磁盤(pán)上是否確實(shí)還有空間剩余芝加。雖然桌面環(huán)境的工具也很不錯(cuò)硅卢,但命令行上的工具更直接,要好的多藏杖。
首先讓我們看看du命令将塑。用它來(lái)檢查問(wèn)題磁盤(pán)所在的掛載點(diǎn)目錄。本文假設(shè)出問(wèn)題的分區(qū)掛載點(diǎn)為根目錄蝌麸。
sudo du -sh /
由于它要遍歷磁盤(pán)中的所有文件点寥,因此需要花費(fèi)一點(diǎn)時(shí)間。現(xiàn)在再讓我們?cè)囋嘾f来吩。
sudo?df?-h
可能的原因
這里列出了一些產(chǎn)生這種情況的主要原因敢辩。若你發(fā)現(xiàn)du和df的結(jié)果之間有差別蔽莱,那么可以直接檢查第一項(xiàng)原因。否則從第二項(xiàng)原因開(kāi)始檢查戚长。
已刪除文件被進(jìn)程所占用
有時(shí)盗冷,文件可能已經(jīng)被刪掉了,但有進(jìn)程依然在使用它同廉。在進(jìn)程運(yùn)行期間仪糖,Linux 不會(huì)釋放該文件的存儲(chǔ)空間。你需要找出這個(gè)進(jìn)程然后重啟這個(gè)進(jìn)程迫肖。
使用下面命令來(lái)定位進(jìn)程锅劝。
sudo lsof / | grep deleted
這應(yīng)該會(huì)列出出問(wèn)題的進(jìn)程了,然后重啟該進(jìn)程咒程。
sudo systemctl restart service_name
文件系統(tǒng)中有一些稱(chēng)為 “i 節(jié)點(diǎn)inode” 的元數(shù)據(jù)鸠天,其用來(lái)保存文件的相關(guān)信息。很多文件系統(tǒng)中的 i 節(jié)點(diǎn)數(shù)量是固定的帐姻,因此很可能 i 節(jié)點(diǎn)已經(jīng)耗盡了而文件系統(tǒng)本身還沒(méi)有用完稠集。你可以使用df來(lái)檢查。
sudo df -i /
比較一下已用的 i 節(jié)點(diǎn)和總共的 i 節(jié)點(diǎn)數(shù)量饥瓷。如果沒(méi)有可用的 i 節(jié)點(diǎn)了剥纷,那么很不幸,你也無(wú)法擴(kuò)充 i 節(jié)點(diǎn)呢铆。刪除一些無(wú)用的和過(guò)期的文件來(lái)釋放一些 i 節(jié)點(diǎn)吧晦鞋。
環(huán)塊
最后一個(gè)很常見(jiàn)的問(wèn)題就是壞的文件系統(tǒng)塊。除非另有標(biāo)記棺克,否則操作系統(tǒng)很可能會(huì)認(rèn)為這些塊都是可用的悠垛,這會(huì)導(dǎo)致文件系統(tǒng)損壞或者硬盤(pán)壞死。最好是使用帶-cc標(biāo)志的fsck搜索并標(biāo)記出這些塊娜谊。記住确买,你不能使用正在使用的文件系統(tǒng)(LCTT 譯注:即包含壞塊的文件系統(tǒng))中的fsck命令。你應(yīng)該會(huì)要用到 live CD纱皆。
sudo fsck -vcck /dev/sda2
很明顯湾趾,這里需要使用你想檢查的磁盤(pán)路徑取代命令中的磁盤(pán)位置。另外派草,要注意搀缠,這恐怕會(huì)花上很長(zhǎng)一段時(shí)間。
相關(guān):使用 fsck 檢查并修復(fù)你的文件系統(tǒng) [Linux][2]
希望這些方案能解決你的問(wèn)題近迁。這種問(wèn)題在任何情況下都不是那么容易診斷的艺普。但是,在運(yùn)氣好的情況下,你可以把文件系統(tǒng)清理干凈并讓你的硬盤(pán)再次正常工作衷敌。