![](/img/trans.png)
[英]AWS EC2 ERROR: -bash: cannot create temp file for here-document: No space left on device
[英]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.