fallocate:fallocate 失败:Ubuntu 17.04 中的文本文件繁忙?

Kum*_*mal 12 swap 16.04 17.04

几周前我安装了 Ubuntu,我通常运行 6 个以上的程序(sts、网络浏览器等)。

系统卡住了。

我的 RAM 大小为 6 GB,交换为 2 GB。我决定将交换大小增加到 15 GB。当我尝试完成这项工作时,出现以下错误。我已链接到我正在关注的教程。

sudo swapon --show
[sudo] password for decoders: 
NAME      TYPE SIZE USED PRIO
/swapfile file   2G   0B   -1
decoders@10decoders:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:           5.7G        1.1G        3.4G        217M        1.1G        4.1G
Swap:          2.0G          0B        2.0G
decoders@10decoders:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.9G     0  2.9G   0% /dev
tmpfs           583M  9.0M  574M   2% /run
/dev/sda1       293G   14G  265G   5% /
tmpfs           2.9G  4.7M  2.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           2.9G     0  2.9G   0% /sys/fs/cgroup
tmpfs           583M  144K  583M   1% /run/user/1000
decoders@10decoders:~$ sudo fallocate -l 15G /swapfile
fallocate: fallocate failed: Text file busy
decoders@10decoders:~$ ls -lh /swapfile
-rw------- 1 root root 2.0G May 19 11:43 /swapfile
decoders@10decoders:~$ 
Run Code Online (Sandbox Code Playgroud)

我跟着这个教程链接:http : //www.tutorialspoint.com/articles/how-to-increase-swap-space-on-linux-ubuntu

小智 17

在 Ubuntu、Linux Mint 和衍生产品中创建 SWAP 分区


方法 1:来自终端的命令行方式(最快的方式!)

第 1第一步是检查您的 PC 中是否已经创建了任何 SWAP 分区:

sudo swapon --show
Run Code Online (Sandbox Code Playgroud)

输入您的根密码。如果您没有看到任何输出,则表示 SWAP 不存在。

STEP 2:接下来,让我们看看你电脑硬盘的当前分区结构:

df -h
Run Code Online (Sandbox Code Playgroud)

第 3正如heynnema评论的那样,在开始更改之前,请禁用交换:

sudo swapoff -a

第四步:现在是创建 SWAP 文件的时候了。确保硬盘上有足够的空间。您需要多少 SWAP 大小是一个偏好问题。

我的建议是:如果您有最多 4GB 的 RAM,我建议为 SWAP 放置两倍的 RAM(对于 SWAP 为 8GB)。对于超过 4GB 的 PC,我建议为 SWAP 使用相同数量的 RAM 加上 2GB。示例:在我的情况下,它是 8GB,我放了 8GB + 2GB,总共 10GB 用于 SWAP。但您可以随意做出选择。

sudo dd if=/dev/zero of=/swapfile bs=5M count=5120 status=progress
Run Code Online (Sandbox Code Playgroud)

第 5步:现在创建 SWAP 文件。让我们为其授予仅 root 权限。

sudo chmod 600 /swapfile
Run Code Online (Sandbox Code Playgroud)

第 6步:将文件标记为 SWAP 空间:

sudo mkswap /swapfile
Run Code Online (Sandbox Code Playgroud)

步骤 7:最后启用 SWAP。

sudo swapon /swapfile
Run Code Online (Sandbox Code Playgroud)

步骤 8:您现在可以使用相同的 swapon 命令检查是否创建了 SWAP。

sudo swapon --show
Run Code Online (Sandbox Code Playgroud)

STEP 9 : 还要再次检查最终的分区结构。

free -h
Run Code Online (Sandbox Code Playgroud)

STEP 10 : 一切设置好后,你必须将 SWAP 文件设置为永久,否则重启后你将丢失 SWAP。运行此命令:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Run Code Online (Sandbox Code Playgroud)

完成,现在退出终端!

您可以在系统监视器实用程序上检查 SWAP 状态。


方法二:GUI方式使用GParted

如果您想直接通过图形界面,请输入下面很好解释的参考链接。


参考: