linux 创建 swap 文件,Linux创建交换文件swapfile

第一步

需要使用root权限。登录这些就不用多说了。

第二步

创建交换文件,这里会创建一个16GB的交换文件,具体的大小要根据你系统的内存或你的需求来看。

我们使用的命令为:

# sudo dd if=/dev/zero of=/opt/swapfile/16GB.swap bs=1024 count=16777216

if=/dev/zero : 从/dev/zero文件中读取数据。

of=/opt/swapfile/16GB.swap : 这里设置的文件为需要创建的交换文件,内容是从/dev/zero中读取来。

bs=1024 : 每次读取和写入1024 BYTES。

count=16777216 : 需要写入块的数量,块大小就是bs所设置的大小。这里设置的是16777216个。

这里需要注意的是,应该如何换算

1024102416=16777216

第一个1024是bs的大小,1024BYTE,为1M。

第二个1024是指1024个1M, 为1G

第三个16是指16G。

# dd if=/dev/zero of=/opt/swapfile/16GB.swap bs=1024 count=16777216

16777216+0 records in

16777216+0 records out

17179869184 bytes (17 GB) copied, 92.9432 s, 185 MB/s

# ll -h /opt/swapfile/16GB.swap

-rw-r--r-- 1 root root 16G Dec 18 12:49 /opt/swapfile/16GB.swap

1

2

3

4

5

6

7

这样,16G的交换文件创建完成。

第三步

设置交换文件的权限。这一步是为了安全。再讲就非常基础了。

# chown root:root /opt/swapfile/16GB.swap

# chmod 0600 /opt/swapfile/16GB.swap

第四步

将刚创建的交换文件设置为交换分区。

# mkswap /opt/swapfile/16GB.swap

Setting up swapspace version 1, size = 16777212 KiB

no label, UUID=d1514772-2707-4462-80b2-e352c2e5655f

第五步

启用交换分区。

# swapon /opt/swapfile/16GB.swap

第六步

让系统开机自动启用。

需要悠/etc/fstab文件,在这个文件中加入以下内容:

/opt/swapfile/16GB.swap            none              swap      sw          0 0

linux在启动时会自动加载。

第七步

验证。

通过free -m 验证。

# free -m

total        used        free      shared  buff/cache   available

Mem:          15886         407         369           0       15109       15133

Swap:         16383           0       16383

查看交换分区的使用情况:

# swapon -s

Filename                Type        Size    Used    Priority

/opt/swapfile/16GB.swap                    file    16777212    0    -1

也可以通过查看文件/proc/meminfo。

# grep -i --color swap  /proc/meminfo

SwapCached:            0 kB

SwapTotal:      16777212 kB

SwapFree:       16777212 kB

也可以通过

top

atop

htop

查看交换分区的使用情况。

如何停用swap分区或swap文件

停用swap分区和文件,使用swapoff

# swapoff /opt/swapfile/16GB.swap

再查看交换分区的使用信息:

# swapon -s

配置交换分区

交换分区在设置好后,可以通过设置/proc/sys/vm/swappiness文件来控制内核将内存中的页交换到交换分区中。设置的值超市,则交换分区使用就会更高。默认值为60。如果需要修改,可以通过以下两种方法:

# sysctl vm.swappiness=20

# echo 30 > /proc/sys/vm/swappiness

如果需要永久的更改,可以将值写入到 /etc/sysctl.conf

echo 'vm.swappiness=30' >> /etc/sysctl.conf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值