今天我的服务器上的磁盘空间不足,这很奇怪,因为我有2TB的磁盘空间,但我绝对不会在附近使用。
似乎我将所有可用存储分配给一些未使用的随机分区,而且我绝对没有设置。
如何为实际使用的内容分配更多空间,为什么我的服务器首先是这样的呢?似乎毫无意义。
我已经通过删除一堆文件来暂时解决了这个问题(如果你可以这么称呼它),但这实际上不是一个解决方案更多的乐队援助修复。
无论如何,我很感激帮助!
以下是我运行df -a
时会发生什么root@server:~# df -a
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 20026172 18985836 8 100% /
/dev/root 20026172 18985836 8 100% /
devtmpfs 16437316 0 16437316 0% /dev
tmpfs 3287572 380 3287192 1% /run
tmpfs 5120 0 5120 0% /run/lock
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
tmpfs 6784440 0 6784440 0% /dev/shm
devpts 0 0 0 - /dev/pts
/dev/md3 1902052420 539176 1804871560 1% /home
如果您需要更多信息,请告诉我要运行的命令!
答案 0 :(得分:2)
Filesystem 1K-blocks Used Available Use% Mounted on
---------- ---------- -------- ---------- ---- ----------
rootfs 20026172 18985836 8 100% /
/dev/root 20026172 18985836 8 100% /
:
/dev/md3 1902052420 539176 1804871560 1% /home
你已经填满了根文件系统,而不是驱动器。这显然是因为你的/ home文件系统有相当大的空间剩下。你需要找出填充rootfs
的内容并以某种方式停止它,从这个意义上说,命令:
du -s * | sort -k1 -n
是你的朋友。
在目录中运行它会让你知道哪个子目录最有可能占用空间,然后你可以深入查找罪魁祸首。
一旦 确定了罪魁祸首,就可以采取多种方法。
1 /如果它真的是一个操作系统进程填满空间(应用程序通常不应该写入rootfs
),你可以配置正在进行的操作来输出更少的信息。
2 /如果它是非操作系统进程,则应该修复它以写入rootfs
以外的某个地方。实现此目的的一种方法是简单地创建类似/home/dumping_ground/sqldata
的内容并重新配置(在本例中)您的SQL数据库以改为使用该区域。
3 /或者,如果您不想重新配置,您仍然可以提供一个软链接来为您执行此操作。我们现在写信给/sqldata
。您可以创建上述/home/dumping_ground/sqldata
,将文件复制到其中,然后使用指向新位置的软链接替换/sqldata
目录。这样,它将使用/home
文件系统而无需重新配置软件。