繁体   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