簡體   English   中英

無法為此處文檔創建臨時文件:設備上沒有剩余空間

[英]cannot create temp file for here-document: No space left on device

我有一個數字海洋 Ubuntu 服務器,兩天前我網站的每個頁面都給我錯誤 500,

在 ssh 中,我收到此錯誤消息“設備上沒有剩余空間”,

有關更多信息,請查看此 SSH 屏幕截圖

所以我恢復備份,服務器和網站現在工作正常,但不久的將來會再次發生

這是當前的服務器狀態

root@****:~# df -k
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             4077544        4   4077540   1% /dev
tmpfs             817680      340    817340   1% /run
/dev/vda1       82436784 34630128  43596088  45% /
none                   4        0         4   0% /sys/fs/cgroup
none                5120        0      5120   0% /run/lock
none             4088392        0   4088392   0% /run/shm
none              102400        0    102400   0% /run/user
root@****:~# df -i
Filesystem      Inodes   IUsed   IFree IUse% Mounted on
udev           1019386     402 1018984    1% /dev
tmpfs          1022098     319 1021779    1% /run
/dev/vda1      5242880 5014058  228822   96% /
none           1022098       2 1022096    1% /sys/fs/cgroup
none           1022098       5 1022093    1% /run/lock
none           1022098       1 1022097    1% /run/shm
none           1022098       2 1022096    1% /run/user
root@****:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           799M  340K  799M   1% /run
/dev/vda1        79G   34G   42G  45% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            3.9G     0  3.9G   0% /run/shm
none            100M     0  100M   0% /run/user
root@****:~# ls /tmp/
root@****:~# fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/vda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/vda: 85.9 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders, total 167772160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1               1   167772159    83886079+  ee  GPT

提前致謝

你可以試試這個,它對我有用:

sudo apt-get autoclean

請嘗試使用命令來解決您的問題:

root@****:~# lsblk

名稱 MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 150G 0 磁盤
└─xvda1 202:1 0 8G 0 部分 /

root@****:~# df -h

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  4.5G  2.9G  61% /
tmpfs            32G     0   32G   0% /dev/shm

從上面看,EBS 似乎有 150 GB,但根分區只有 8 GB。

所以要調整 EBS 根卷的大小

root@****:~# sudo growpart /dev/xvda 1

安裝“growpart”使用

root@****:~# sudo yum install -y cloud-init dracut-modules-growroot

並重新啟動發動機。

我剛剛遇到了類似的問題。

無需重啟即可通過兩個命令解決:

這是由於在 ubuntu 安裝中默認創建了 LV。 1、用lvdisplay查找LV名稱。 2. lvextend -rL +1G LVNAME(或者代替“-r”你可以resizefs作為下一個命令)

ECB上面給出的答案對我有用,但它需要在答案的第二部分 LV 路徑插入 LV 名稱。

同事建議的替代方法是調整大小以使用 100% 的磁盤。

sudo lvm
lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
exit

sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

嘗試

sudo fsck.ext4 -f /dev/sda1 

(sda1 是您安裝/打開 linux 的驅動器)在 Live CD 上。 我使用了 gparted live( https://gparted.org/livecd.php )。 這將修復文件系統節點。 文件系統是只讀的,因為文件系統已損壞。

您的根文件系統已滿,因此您的臨時目錄(/tmp 和 /var/tmp)也已滿。 許多腳本和程序需要一些空間來存放工作文件,甚至鎖定文件。 當 /tmp 不可寫時,壞事就會發生。

你需要弄清楚你是如何填滿文件系統的。 通常會發生這種情況的地方是 /var/log (檢查您是否正在循環日志文件)。 或者 /tmp 可能已滿。 但是,還有很多其他方法可以填滿磁盤。

du -hs /tmp /var/log

您可能希望重新分區以給 /tmp 它自己的分區(這是老派的做法,但如果您有足夠的磁盤就可以了),或將其映射到內存中(這將使其非常快但開始如果您過度使用臨時文件,則會導致交換問題)。

或者嘗試卸載溢出分區:

卸載/tmp

卸載溢出

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM