Chr*_*ris 79 linux ubuntu partition
在运行 Ubuntu 10.04 的虚拟化服务器上,df 报告以下内容:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 7.4G 7.0G 0 100% /
none 498M 160K 498M 1% /dev
none 500M 0 500M 0% /dev/shm
none 500M 92K 500M 1% /var/run
none 500M 0 500M 0% /var/lock
none 500M 0 500M 0% /lib/init/rw
/dev/sda3 917G 305G 566G 36% /home
Run Code Online (Sandbox Code Playgroud)
这让我感到困惑有两个原因:1.) df 说 /dev/sda1 安装在 /,有 7.4 GB 的容量,其中只有 7.0 GB 正在使用中,但它报告 / 100% 已满;和 2.) 我可以在 / 上创建文件,所以它显然还有空间。
可能相关的是目录 /www 是 /home/www 的符号链接,它位于不同的分区(/dev/sda3,安装在 /home)。
任何人都可以就这里可能发生的事情提供建议吗?服务器似乎正常工作,但我想确保分区表、文件系统或其他可能导致稍后内爆(或爆炸)的问题没有问题。
mko*_*tee 132
一个进程可能打开了一个已被删除的大文件。您必须终止该进程以释放空间。您可以使用 lsof 来识别进程。在 Linux 上,lsof 知道已删除但打开的文件,并在 lsof 的输出中标记为(已删除)。
你可以检查这个 sudo lsof +L1
Dav*_*rtz 54
文件系统的 5%(默认情况下)保留用于文件系统已满以防止出现严重问题的情况。您的文件系统已满。由于 5% 的缓冲区,没有发生任何灾难性的事情——root 被允许使用该安全缓冲区,并且在您的设置中,非 root 用户没有理由写入该文件系统。
如果您的守护进程以非 root 用户身份运行,但需要管理该文件系统中的文件,事情就会中断。一种常见的此类守护程序是named. 另一个是ntpd。
Dav*_*win 19
大多数 Linux 文件系统(ext3、ext4)保留 5% 的空间仅供 root 用户使用。
你可以看到这个,例如
dumpe2fs /dev/sda1 | grep -i reserved
Run Code Online (Sandbox Code Playgroud)
您可以使用以下方法更改预留金额:
tune2fs -m 0 /dev/sda1
Run Code Online (Sandbox Code Playgroud)
0 在此命令中代表磁盘大小的百分比,因此您可能希望至少保留 1%。
在大多数情况下,服务器似乎会继续正常工作 - 假设所有进程都以“root”身份运行。
小智 12
除了已经提出的原因外,在某些情况下,还可能是以下原因:
du -md 1再次检查大小。通过将隐藏文件夹移动到其他地方或安装在其他地方来修复情况。zza*_*per 10
我遇到了这个问题,并且对删除各种大文件并没有改善情况(不知道 5% 缓冲区)这一事实感到困惑,无论如何遵循这里的一些线索
从根开始,通过重复执行以下操作显示的最大目录:-
du -sh */
Run Code Online (Sandbox Code Playgroud)
直到我来到一个包含一些绝对大量日志的网络服务器日志文件的目录
我截断了
:>lighttpd.error.log
Run Code Online (Sandbox Code Playgroud)
突然 df -h 使用率下降到 48%!
df -h正在四舍五入这些值。甚至百分比也是四舍五入的。省略-h,您会看到更细粒度的差异。
哦。并且 ext3 和派生类为文件系统保留了一个百分比(默认为 5%),正是这个有问题的星座。如果您的根文件系统真的满了(剩余 0 个字节),您将无法启动系统。所以保留部分可以防止这种情况。