我有一台机器有 62GB 的 RAM,而后备箱只有 7GB,所以我想我会创建一个 RAM 磁盘并在那里编译。我不是 Linux 专家。我在互联网上找到了创建 RAM 磁盘的说明:
mkfs -q /dev/ram1 8192
Run Code Online (Sandbox Code Playgroud)
但是我将 8192 更改为 16777216 以尝试分配 16GB 的 ram 磁盘。
我收到以下错误:
mkfs.ext2: Filesystem larger than apparent device size.
Proceed anyway? (y,n)
Run Code Online (Sandbox Code Playgroud)
在这一点上,我受到惊吓并被保释。
sudo dmidecode --type 17 | grep Size
Run Code Online (Sandbox Code Playgroud)
显示
8x8192MB + 2048MB = 67584 MB
Run Code Online (Sandbox Code Playgroud)
但du
在/dev
给804K
。
这是问题吗?我能克服那个/dev
尺寸吗?
在我的系统上df -h
报告根文件系统已满(100%
可用0
),并且还btrfs fi usage /
告诉我所有空间都已分配。重新启动后,它甚至无法启动必要的服务,所以我现在处于恢复模式。
我尝试平衡系统,如下所示btrfs ERROR: error duringbalancing - No space left on device。因为btrfs balance start -dusage=27 /
我得到:
Done, had to relocate 0 out of 56 chunks`\n
Run Code Online (Sandbox Code Playgroud)\n\n因为btrfs balance start -dusage=28 /
我得到:
ERROR: error during balancing \'/\': No space left on device\n
Run Code Online (Sandbox Code Playgroud)\n\n因此,我开始删除其中的文件/var/log/
,但即使删除了几个 100 MB 的df -h
文件,报告也没有任何可用的位。
我怀疑,一旦空间空闲,就会有一些服务填补该空间。但由于我处于恢复模式,所以不应该有这么多服务。
\n\n我怎样才能知道删除文件后立即填充空间的是什么?
\n\n如何确保有可用空间供 btrfs 用来重新平衡?
\n\n …