这个是逗比根据地的备份镜像站(非官方)。牢记域名: [doubibackup.com]。搜索:标签云
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程
广告

Linux 添加 SWAP 交换内存/虚拟内存 的简单方法

Linux教程 Toyo 12评论
广告
本文最后更新于 2017年3月29日 01:36 可能会因为没有更新而失效。如已失效或需要修正,请留言!

最近见一些人买了 128MB小内存的KVM小鸡想要安装锐速,但是老是提示内存不足,或者运行ShadowsocksR服务端老被系统Kill,那么可以适当的添加一些虚拟内存,以避免内存不足的问题。


SWAP简单介绍

Linux的内存分为 物理内存 和 虚拟内存,虚拟内存(SWAP)也叫交换区、交换分区等。

点击展开 查看更多

准备工作

注意:只有虚拟化构架为XEN、KVM、VM-Ware的VPS可以自己添加SWAP,OpenVZ不支持添加SWAP!

root 账号

添加SWAP操作,必须是 root 用户才可以操作,所以请用 root 账号登陆服务器或者切换为 root 用户:

su

输入执行后,会提示你输入 root 账号的密码,输入正确密码并回车后,没有报错那么就可以继续下面的步骤了。

检查硬盘大小

因为SWAP是在硬盘中建立一个交换区文件,所以需要磁盘中最少有 这个文件大小 的空闲空间。

输入执行这个命令,即可看到你的VPS当前磁盘大小和使用情况:

df -m

从下面的示例中可以看到,这个VPS大概有 15GB的硬盘大小(14621 MB),用了 1GB(1117 MB),剩下12.5GB(12763 MB)大小。

既然硬盘大小充足,那就可以继续下面步骤了。

# VPS示例提示 #
# 下列参数表头分别为:文件系统、总大小(单位MB)、已用大小(单位MB)、未用大小(单位MB)、使用率(%)、挂载点
[email protected]:~# df -m
Filesystem                                             1M-blocks  Used Available Use% Mounted on
rootfs                                                     14621  1117     12763   9% /
udev                                                          10     0        10   0% /dev
tmpfs                                                         50     1        50   1% /run
/dev/disk/by-uuid/12dc23                                   14621  1117     12763   9% /
tmpfs                                                          5     0         5   0% /run/lock
tmpfs                                                        202     0       202   0% /run/shm
# VPS示例提示 #

添加交换区SWAP

查看 当前SWAP大小

我们可以先查看一下当前的SWAP大小(单位 MB)。

free -m
# VPS示例提示 #
[email protected]:~# free -m
             total       used       free     shared    buffers     cached
Mem:           244        141        103          0         38         76
-/+ buffers/cache:         26        218
Swap:          127          0        127
# VPS示例提示 #

创建 SWAP文件

从上面的VPS示例中可以看到,这个VPS物理内存约等于 256MB,所以可以添加 物理内存*2的SWAP=512MB

bs 是字节数,这里是1024 B,count 是blocks块数,of 是要输出的SWAP交换区文件(本文章仅为示例,文件和位置可以自己改)

所以: bs=1024 B=1 KB,512000 * 1 KB=512000 KB / 1024 ≈ 512 MB (为了直观的看,就按1000来算了 :lol:

dd if=/dev/zero of=/var/swapfile1 bs=1024 count=512000
# VPS示例提示 #
[email protected]:~# dd if=/dev/zero of=/var/swapfile1 bs=1024 count=512000
512000+0 records in
512000+0 records out
524288000 bytes (524 MB) copied, 4.09314 s, 128 MB/s
# VPS示例提示 #

查看文件是否创建成功,大小是否正确(因为按1000计算,所以会不足 512MB)

du -ah /var|grep "swapfile1"
# VPS示例提示 #
[email protected]:~# du -ah /var|grep "swapfile1"
501M	/var/swapfile1

建立 SWAP文件

mkswap /var/swapfile1
# VPS示例提示 #
[email protected]:~# mkswap /var/swapfile1
Setting up swapspace version 1, size = 511996 KiB
no label, UUID=c48fef60-7d49-450c-bfd1-7a7826de7cdd
# VPS示例提示 #

启用 SWAP文件

swapon /var/swapfile1

启用 SWAP文件没有任何提示,启用后我们查看一下是否正常启用:

swapon -s
free -m

可以看到下面的SWAP中,成功添加启用了一个 SWAP交换区。

# VPS示例提示 #
[email protected]:~# swapon -s
Filename				Type		Size	Used	Priority
/dev/vda2                               partition	131068	0	-1
/var/swapfile1                         file		511996	0	-2

[email protected]:~# free -m
             total       used       free     shared    buffers     cached
Mem:           244        240          4          0         34        175
-/+ buffers/cache:         30        214
Swap:          627          0        627
# VPS示例提示 #

开机启动加载

echo "/var/swapfile1 swap swap defaults 0 0" >> /etc/fstab

如果你又不想要刚才新添加的SWAP了,那么可以取消它们。

取消 SWAP文件

swapoff /var/swapfile1

取消 开机启动加载

sed -i "/swapfile1/d" /etc/fstab

取消后,可以再 free -m 查看一下SWAP,确定取消了,那么就可以删除 SWAP文件了。

删除 SWAP文件

rm -rf /var/swapfile1

有什么问题请在下面留言!

转载请超链接注明:逗比根据地 » Linux 添加 SWAP 交换内存/虚拟内存 的简单方法
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (31)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(12)个小伙伴在吐槽
  1. 成功get,每天学习一点点
    dreamer2018-05-14 22:22 回复
  2. 不安全的权限0644,建议使用0600 手动再更改一下权限?会有什么问题吗
    chess2018-05-08 10:00 回复
  3. #直接添加,默认添加512M function Make_Swap() { local COUNT=$1 [ -n "$COUNT" ] && COUNT=512 dd if=/dev/zero of=/swapfile count=$COUNT bs=1M mkswap /swapfile swapon /swapfile chmod 600 /swapfile [ -z "`grep swapfile /etc/fstab`" ] && echo '/swapfile swap swap defaults 0 0' >> /etc/fstab }
    天使也无奈2017-04-10 16:24 回复
  4. 所谓的128小内存kvm其实是因为你那篇C3的aff文吧 :shock:
    SitandRelax2017-03-28 23:41 回复
    • 128MB的KVM,可不是只有Tzhost卖的,Rectified、Virmach 等IDC 都有 128MB的KVM。
      Toyo2017-03-29 01:21 回复
  5. SWAP文件丟到ROOT目錄下不太好,建議丟到ETC目錄下。
    萬能的玉兔2017-03-28 23:08 回复
    • 文件放到那里,并没有区别,区别只是在于,是否容易被误删 和 根据Linux各目录的作用来合理规划的放置各类文件。
      所以我又把教程里的 /root 改成了 /var 。
      Toyo2017-03-29 01:30 回复
  6. 成功get.偷油真是越来越勤快了
    南琴浪2017-03-26 16:05 回复
  7. 感觉不错哦,认真拜读咯!
  8. openvz通过安装小肉鸡,可以开启bbr+ss。。。内存占用确实不高,效果么,没有锐速好
    Anonymous2017-03-25 16:19 回复
  9. 说得好,我选择bbr :lol:
    kurokitomoko2017-03-25 09:18 回复