我有一个文件服务器,其中 df 报告 94% 的 / 已满。但是根据 du 的说法,使用的要少得多:
# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 270G 240G 17G 94% /
# du -hxs /
124G /
Run Code Online (Sandbox Code Playgroud)
我读到打开但删除的文件可能对此负责,但重新启动并没有解决这个问题。
这是Linux,ext3。
问候
我正在尝试释放一些磁盘空间 - 如果我这样做df -h,我有一个名为 /dev/mapper/vg00-var 的文件系统,它表示它的 4G,使用了 3.8G,还剩下 205M。
那对应于我的 /var 目录。
如果我下降到 /var 并执行du -kscxh *,则总数为 2.1G
2.1G + 200M free = 2.3G ... 所以我的问题是,剩下的 1.7G 在哪里?
我的 VPS 显示这个 df -h
Filesystem Size Used Avail Use% Mounted on
/dev/simfs 100G 46G 0 100% /
Run Code Online (Sandbox Code Playgroud)
有没有人有解决这个问题的想法?
我已经使用 4 个 75G 驱动器创建了一个 RAID10 阵列,以创建 150G 的存储。
一切都完成后(包括初始同步),一切看起来都不错,只是输出df -h显示指定挂载点上只有 73G 存储空间。
细节:
——
#!/bin/sh
disk1="/dev/sdh1"
disk2="/dev/sdh2"
disk3="/dev/sdh3"
disk4="/dev/sdh4"
echo "*** Verifying existence of 4 volumes $disk1, $disk2, $disk3 and $disk4"
if [ -b "$disk1" -a -b "$disk2" -a -b "$disk3" -a -b "$disk4" ]; then
echo "# Found expected block devices."
else
echo "!!! Did not find expected block devices. Error." …Run Code Online (Sandbox Code Playgroud) 我有一个 50GB 的 vps
当我运行 df 我得到
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 49982172 46580100 863064 99% /
none 507212 172 507040 1% /dev
none 511676 4 511672 1% /dev/shm
none 511676 76 511600 1% /var/run
none 511676 0 511676 0% /var/lock
none 511676 0 511676 0% /lib/init/rw
Run Code Online (Sandbox Code Playgroud)
当我从 / 运行 du -h 时
...
20K ./tmp/vmware-root
4.0K ./tmp/.webmin
4.0K ./tmp/.X11-unix
4.0K ./tmp/.ICE-unix
4.0K ./tmp/hsperfdata_root
48K ./tmp
7.7M ./bin
3.8G .
Run Code Online (Sandbox Code Playgroud)
我还尝试找出大于 100MB 的文件,以尝试使用 find / -size +100M …
我知道当 的结果du -sh小于带有df -h. (因为某些文件仍在进程中打开等。)但在我的情况下,我有相反的情况。
我正在运行 Ubuntu 12.04 并尝试获取 NFS 挂载的已用大小
df -h返回270G used而du -sh挂载的文件夹返回320G used.
更新:我正在使用以下选项安装分区:
nas-server:/path/to/mount /mnt/mount/point nfs proto=tcp,rsize=8192,wsize=8192,hard,intr,exec
Run Code Online (Sandbox Code Playgroud)
有谁知道这可能来自哪里?盘上正确的数量应该是270G~
谢谢你的帮助。我会提供任何必要的额外信息。
过去几周,我在一个小型 unix 服务器(它没有所有标准 unix 命令,只有 BusyBox 包中包含的基本命令)中发生了这种情况,我正在配置该服务器来备份文件。
如果我们检查服务器的可用空间,它会显示:
Filesystem | Size | Used | Available | Use%| Mounted on
/dev/hdc2 | 678.4G | 416.6G | 261.8G | 61% | /tmp/mnt/D
/dev/sda1 | 96.1G | 36.0G | 55.2G | 40% | /tmp/mnt/USB/USB_C
Run Code Online (Sandbox Code Playgroud)
现在,我尝试将 700MB 文件复制到 USB_C 或将 90GB 文件复制到/tmp/mnt/D我可以看到有足够可用空间的位置,但是,我不断收到以下错误:
cp: Write Error: No space left on device
Run Code Online (Sandbox Code Playgroud)
知道问题是什么以及如何解决吗?
如前所述,这是一个小型 unix 服务器,只有最少的 unix 命令,因此其他帖子中提到的大多数命令不适用于此机器。因此,我可能需要知道我可以在这个特定系统中尝试什么的人的帮助来给我们一些线索......
我正面临 .s 报告的 fs 空间错误的问题df。
我们谈论的是裸机 Ubuntu 14.04 服务器,/分区由 LVM 管理。
报告df的大小与 fs 超级块报告的大小不同。还从du -skh(在与/分区相关的目录上)计算大小证明df显示的结果不正确。
这是报道的内容df:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-lv_root 20G 16G 2.8G 86% /
Run Code Online (Sandbox Code Playgroud)
这是超级块报告的内容(3616906*4096/1024**2=14128 MB free):
Last mounted on: /
Filesystem magic number: 0xEF53
Filesystem state: clean
Filesystem OS type: Linux
Inode count: 1290240
Block count: 5242880 << exactly 20 GB
Reserved block count: 227170
Free blocks: 3616906 …Run Code Online (Sandbox Code Playgroud) 我在 DigitalOcean 上运行的 Ubuntu Web 服务器上的磁盘空间似乎已满。我已经找到并删除了大日志文件并重新启动了 Nginx。不过,看起来还是有问题。
df显示它仍然是满的:
$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 47G 22M 100% /
Run Code Online (Sandbox Code Playgroud)
但du显示它尚未满:
$ du -shx /
3.2G /
Run Code Online (Sandbox Code Playgroud)
我需要做什么来解决这个问题?
当服务器硬盘 (Linux) 被大量小文件迅速填满时,我有时会遇到问题。发生这种情况时,我必须尝试弄清楚占用了多少空间以及占用空间的文件在哪里。这可能是一项令人惊讶的令人沮丧的任务,因为:
我想快速而准确地知道我的所有空间都在硬盘上的哪里,那里可能有数以百万计的小文件占用数 TB 的空间。
传统文件系统似乎不可能做到这一点(如果没有,我想听听)
我的问题是 Linux 上可用的任何新文件系统(btrfs、zfs、reiserfs 等)是否具有任何可能有助于解决此问题的超级智能功能。例如,我可以想象某种日志——每次写入时都会不断更新——它包含文件系统中每个分支占用的空间量的记录。然后问我的问题只是阅读日志的问题。
这只是可能有帮助的功能类型的一个示例,但我要求提供任何可能有助于回答问题的任何类型功能的示例:快速准确地告诉我,我的硬盘上正在使用空间的确切位置磁盘。
谢谢,汤姆