我在服务器上收到了此消息-bash: cannot create temp file for here-document: No space left on device
,因此当我使用此命令检查大小时df -h
,得到了以下结果
Filesystem Size Used Avail Use% Mounted on
udev 487M 0 487M 0% /dev
tmpfs 100M 12M 88M 12% /run
/dev/xvda1 7.8G 7.5G 0 100% /
tmpfs 496M 4.0K 496M 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/mapper/localteams-localteamslv1 9.8G 2.0G 7.3G 21% /local-teams
tmpfs 100M 0 100M 0% /run/user/1001
我也尝试清理 /tmp 文件夹,但该文件夹中只有 2 个文件此链接沒有任何事發生……
这就是为什么我想知道重新启动服务器时会释放哪些资源?所以我可以使用 cron 作业定期进行演练。
或者有什么解决办法吗...因为不可能每次都重新启动服务器..
先感谢您
笔记:你可以根据需要询问更多细节
答案1
该错误No space left on device
意味着您的磁盘已满,您需要通过从/
分区(显示为已使用 100%)中删除或移动一些文件来释放一些空间。
开始寻找可以(重新)移动的大文件的一个好位置是/var/log/
。
重新启动服务器对于您的情况没有帮助。
答案2
重新启动服务器时哪些资源会被释放?
关于磁盘使用情况,这实际上是一个有点有趣的问题:
- 一般来说,重新启动不会有太大的影响,如果重新启动导致数据消失,那将是一个非常糟糕的想法!
- 重新启动将释放磁盘空间已经删除的文件仍由正在运行的进程(即您使用 看到的进程
lsof | grep deleted
)保持打开状态。您可以通过终止特定进程来实现相同的目的。 - 一些发行版在重启时运行
/tmp/
并/var/tmp
清理脚本。 - 您将丢失所有数据临时文件以及仅存在于内存中的类似文件系统
您的根文件系统已满,并且它将包含其他目录中的(太多)数据/tmp
。例如,检查数据被使用的位置du
,ncdu
看看是否可以安全地删除一些数据。
或者,由于这似乎是 VPS,只需通过增加磁盘和文件系统来添加额外的空间即可。