Linux
錯誤:設備上沒有剩餘空間:(已刪除)/dev/zero
**** 主持人在 hypervizor 上發生了一些變化,但他說,沒有任何變化。問題不再在伺服器上…… ****
如果我想重新啟動守護程序,我會收到通知:
Error: No space left on device
lsof | grep 刪除:
rewrite-0 11111 11153 nginx mem REG 0,96 598535772 (deleted)/dev/zero (stat: No such file or directory) rewrite-0 11111 11153 nginx mem REG 0,96 598535778 (deleted)/dev/zero (stat: No such file or directory) rewrite-0 11111 11153 nginx mem REG 0,96 598535776 (deleted)/dev/zero (stat: No such file or directory)
還有很多其他用於 php-fpm、mysql 的字元串。
這是 VPS Centos。找不到任何解決方案。非常感謝您的幫助!
#### 更新
Filesystem Size Used Avail Use% Mounted on /dev/ploop16716p1 200G 11G 181G 6% / devtmpfs 3.0G 0 3.0G 0% /dev tmpfs 3.0G 0 3.0G 0% /dev/shm tmpfs 3.0G 248K 3.0G 1% /run tmpfs 3.0G 0 3.0G 0% /sys/fs/cgroup tmpfs 615M 0 615M 0% /run/user/1000 tmpfs 615M 0 615M 0% /run/user/0
ls -la /dev/zero
crw-rw-rw- 1 root root 1, 5 Aug 21 16:21 /dev/zero
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on /dev/ploop16716p1 13295616 353527 12942089 3% / devtmpfs 786432 65 786367 1% /dev tmpfs 786432 1 786431 1% /dev/shm tmpfs 786432 221 786211 1% /run tmpfs 786432 10 786422 1% /sys/fs/cgroup tmpfs 786432 1 786431 1% /run/user/1000
$$ root@mail ~ $$# dd if=/dev/zero of=/file bs=1G count=50
50+0 records in 50+0 records out 53687091200 bytes (54 GB) copied, 168.672 s, 318 MB/s
$$ root@mail ~ $$# du -hs /文件
51G /file
$$ root@mail ~ $$# df -h
Filesystem Size Used Avail Use% Mounted on /dev/ploop16716p1 200G 61G 131G 32% / devtmpfs 3.0G 0 3.0G 0% /dev tmpfs 3.0G 0 3.0G 0% /dev/shm tmpfs 3.0G 252K 3.0G 1% /run tmpfs 3.0G 0 3.0G 0% /sys/fs/cgroup tmpfs 615M 0 615M 0% /run/user/1000 tmpfs 615M 0 615M 0% /run/user/0
出於任何原因:
repquota -a:
*** Report for user quotas on device /dev/ploop16716p1 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 7523364 0 0 251948 0 0 nobody -- 20 0 0 5 0 0 smmsp -- 92 0 0 23 0 0 rpc -- 4 0 0 2 0 0 apache -- 16 0 0 4 0 0 mysql -- 180824 0 0 384 0 0 named -- 12 0 0 3 0 0 user -- 236604 0 0 1081 0 0 clamupdate -- 260460 0 0 5 0 0 dovecot -- 4 0 0 1 0 0 postfix -- 728 0 0 80 0 0 vmail -- 1415436 0 0 14824 0 0 spamd -- 32 0 0 9 0 0 nginx -- 775704 0 0 57129 0 0 amavis -- 4644 0 0 31 0 0 postgrey -- 10340 0 0 9 0 0 opendkim -- 40 0 0 10 0 0 opendmarc -- 212 0 0 3 0 0 redis -- 284 0 0 16 0 0 ossec -- 29108 0 0 1216 0 0 ossecr -- 284 0 0 5 0 0 ossecm -- 4 0 0 1 0 0 #500 -- 97932 0 0 5318 0 0 #1001 -- 7024 0 0 435 0 0 #984 -- 532 0 0 136 0 0 #501 -- 22356 0 0 2645 0 0
我已經聯繫了託管服務提供商,他們告訴我,他們找不到問題,但日誌說:
Aug 24 07:43:17 mail yum[17224]: Installed: strace-4.12-6.el7.x86_64 Aug 24 07:53:43 mail clamd[1484]: SelfCheck: Database status OK. Aug 24 07:55:58 mail systemd-tty-ask-password-agent: Error: No space left on device Aug 24 07:55:58 mail systemctl: Failed to stop systemd-ask-password-plymouth.path: Unit systemd-ask-password-plymouth.path not loaded. Aug 24 07:55:58 mail systemctl: Failed to stop systemd-ask-password-plymouth.service: Unit systemd-ask-password-plymouth.service not loaded.
之後,守護程序的重啟工作沒有任何問題。親愛的社區,有什麼想法嗎?
ipcs -a
------ Message Queues -------- key msqid owner perms used-bytes messages ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status ------ Semaphore Arrays -------- key semid owner perms nsems
現在用 sysctl 參數解決了這個問題:fs.inotify.max_user_watches = 10240
由於人們為您建議的所有其他方法都失敗了,我將嘗試一種更奇特的方法——您的系統是否由於某種原因耗盡了信號量?
如果
ipcs -a
向您顯示一長串列表,那麼使用該命令刪除最明顯的列表(例如,僅應執行某些已停止服務的使用者的現有信號量)可能是值得的ipcrm
。