人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Linux中出現(xiàn)“No space left on device”錯誤的排查與解決方法

發(fā)布日期:2022-05-21 12:37 | 文章來源:源碼之家

最近這兩天登陸服務(wù)器,發(fā)現(xiàn)用 wget 下載文件的時候提示“No space left on device”,而且連使用 tab 鍵進(jìn)行補(bǔ)全時也會提示該錯誤。

之前遇到過一次這種問題,是由于磁盤空間被占滿了,導(dǎo)致無法創(chuàng)建新文件。正常情況下,刪除一些文件來釋放空間,即可解決該問題。

當(dāng)我使用 df 命令查看分區(qū)情況時,結(jié)果如下:

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 29G 29G 0 100% /
udev  10M 0 10M 0% /dev
tmpfs  101M 232K 100M 1% /run
tmpfs  5.0M 0 5.0M 0% /run/lock
tmpfs  405M 0 405M 0% /run/shm

看到這里,我以為磁盤真的被 100% 占用了,于是就查看了各目錄的占用情況:

# du -sh /*
8.8M /bin
30M /boot
0 /dev
5.3M /etc
24K /home
0 /initrd.img
205M /lib
4.0K /lib64
16K /lost+found
8.0K /media
4.0K /mnt
4.0K /opt
0 /proc
2.5G /root
232K /run
5.2M /sbin
8.0K /srv
0 /sys
4.0K /tmp
2.6G /usr
1.8G /var
0 /vmlinuz

很明顯,總共的磁盤占用完全不到 10G,磁盤理論上并未被占滿。

這種情況下,很可能是小文件過多,導(dǎo)致 inode 急劇增加,消耗完 inode 區(qū)域的空間。

如果真是如此,那么即使磁盤空間有剩余,但由于無法創(chuàng)建新的 inode 來存儲文件的元信息,也就無法創(chuàng)建新文件。

因此,我用 df 命令進(jìn)行驗證:

# df -ih
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda1 1.9M 299K 1.6M 17% /
udev  123K 299 123K 1% /dev
tmpfs  126K 249 125K 1% /run
tmpfs  126K 4 126K 1% /run/lock
tmpfs  126K 2 126K 1% /run/shm

可以看到,inode 區(qū)域只被占用了一小部分,還有大量的空間未使用,所以也不是 inode 區(qū)域被占滿的問題。

到了這里,我的內(nèi)心是非常郁悶的。這個問題直接導(dǎo)致了Apache、MySql以及其它的一些服務(wù)均無法啟動,服務(wù)器已經(jīng)基本沒法使用了,然而原因卻撲朔迷離。

最后,服務(wù)器提供商告訴我另一種可能的情況,就是有些文件刪除時還被其它進(jìn)程占用,此時文件并未真正刪除,只是標(biāo)記為 deleted,只有進(jìn)程結(jié)束后才會將文件真正從磁盤中清除。

于是我通過 lsop 命令查看了被進(jìn)程占用中的文件:

# lsof | grep deleted
mysqld 1952 2982 mysql 5u REG  254,1  0 127 /tmp/ibzMEe4z (deleted)
mysqld 1952 2982 mysql 6u REG  254,1  0 146 /tmp/ibq6ZFge (deleted)
mysqld 1952 2982 mysql 10u REG  254,1  0 150 /tmp/ibyNHH8y (deleted)
apache2 2869  root 9u REG  254,1  0 168 /tmp/.ZendSem.2w14iv (deleted)
apache2 2869  root 10w REG  0,16  0 11077 /run/lock/apache2/rewrite-map.2869 (deleted)
...
python 3102  root 1w REG  254,1 22412342132 264070 /var/log/nohup.out (deleted)

終于找到了罪魁禍?zhǔn)?,原來是在后臺運行的 Python 腳本,源源不斷地將輸出保存到 /var/log/nohup.out 文件中,文件大小居然達(dá)到了20G+!

前階段在后臺運行腳本之后,就沒再管過它。估計是我在 Python 運行過程中刪掉了 nothup.out 文件,由于該文件被占用,所以只能先標(biāo)記為 deleted,而未真正刪除,最后導(dǎo)致磁盤爆滿。

這次的教訓(xùn)提醒了我,不能將任務(wù)簡單放到后臺就放任不管,特別是使用 nohup 命令時,所有的輸出都會被不斷地添加到同一個文件中,如果該進(jìn)程不會自己終止,就可能導(dǎo)致輸出文件占滿整個磁盤。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對本站的支持。

美國快速服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部