CentOS/Unbuntu系统下快速设置虚拟内存,一行命令搞定
快速开始
#请cd到你机器的执行命令的路径下
cd /usr/local/bin
#wget脚本
wget https://gitee.com/yunwisdoms/fake-swapon/raw/master/fake-swapon.sh
#设置拥有者
chown root:root fake-swapon.sh
#设置执行权限
chmod 700 fake-swapon.sh
#脚本设置别名
ln -s fake-swapon.sh fake-swapon
#快速设置虚拟内存
fake-swapon --add-swap --swap-size 2048
#设置完毕后,通过free -m查看
[root@shengtaicom bin]# free -m
total used free shared buff/cache available
Mem: 64265 23730 21818 7 18716 39922
Swap: 2047 0 2047
注:以上就是安装执行脚本,并设置虚拟内存的步骤,是不是非常简单
执行命令
设置虚拟内存:fake-swapon --add-swap --swap-size 2048
删除虚拟内存:fake-swapon --remove-swap
查看虚拟内存:fake-swapon --list-swap
共有三个选项类别:
- (-l | --list-swap)列表交换
- (-a | --add-swap)添加交换
- (-r | --remove-swap)删除交换
临时虚拟内存
在CoreOS,CentOS和Ubuntu Linux上设置临时虚拟内存(交换)。
为什么
Amazon EC2上的虚拟机通常不启用交换。对于CoreOS(码头集装箱主机)也是如此 。如果您试图在任何一个平台上构建内容,那么很可能会遇到很长的构建时间。在CoreOS上,当您在Dockerfile上运行“ docker build” 以创建映像时,可能会出现这种情况。如果RUN命令触发构建,那么事情可能会停顿下来。对于快速构建新图像来说,太多了吧?
CoreOS的问题在于它使用了 不支持交换的btrfs(即“黄油”文件系统)。但是,一切都不会丢失,您可以利用循环设备来创建交换文件。
临时虚拟内存是指手动调用或通过安装/构建脚本调用。
安装
要安装fake-swapon,只需将脚本以超级用户身份复制到合适的目录(例如/usr/local/bin)。然后,执行以下权限更改:
提示> cd /path/to/install/目录
提示> chown root:root fake-swapon.sh
提示> chmod 700 fake-swapon.sh
提示> ln -s fake-swapon.sh fake-swapon
在fake-swapon.sh脚本上设置了execute位之后,您将能够调用该脚本,而不必先调用shell,然后再将该脚本作为参数传递。
注意:fake-swapon 要求BASH 4.2或更高版本。
用法
请记住,假交换仅以其拥有的托管交换为目标,它将不会管理或返回通过其他方式添加的交换结果。
注意:fake-swapon 必须以超级用户(root)身份运行。
要获得帮助,只需使用help(-h | --help)选项调用fake-swapon:
>fake-swapon -h
共有三个选项类别:
- (-l | --list-swap)列表交换
- (-a | --add-swap)添加交换
- (-r | --remove-swap)删除交换
列表交换
要列出所有的有线和未连接的交换,使用(-l | --list交换)选项:
提示>fake-swapon --list-swap
分析系统为虚拟内存状态...
检测到的Linux变体:CoreOS [472.0.0]
?交换ID类型容量已用
* abcdfh(循环)1.4G ?
d3rnfo分区(循环)1024M 13.4M
npt4u8分区(循环)1024M 0B
-
*之前的交换ID表示无线交换
在上面的示例中,未有线交换标有星号(*)。这表示以前创建的交换文件,不再使用。如果系统已重新启动,则可能会发生这种情况。理想情况下,您将需要清理 未连接的交换文件。一种建议是在系统启动时简单地运行带有选项的假-r
交换,以在创建新交换文件之前删除所有交换文件。
添加交换
在添加交换之前,fake-swapon 会尝试检测交换是否已经存在。通过检查完成 /proc/meminfo
。如果未找到交换,则fake-swapon 将尝试创建交换文件。在CoreOS 和Ubuntu上,这将通过循环设备完成; 在CentOS上,脚本将创建一个标准交换文件(即没有循环设备)。当前不支持其他Linux发行版。
如果交换已经存在(系统交换或临时虚假交换),则在不提示用户确认的情况下不会添加其他交换。使用该-f
选项可以跳过提示。
添加具有默认交换大小(1024MB)的交换:
提示>fake-swapon --add-swap
您还可以使用以下-s
选项指定自定义交换大小:
提示>fake-swapon --add-swap --swap-size 2048
自定义交换大小以兆字节(MB)为单位。不要在数字后面添加单位。
删除虚拟内存
两个有线和未连接的可以通过指定被删除掉-r
选项。这样做时,将删除所有由fake-swapon管理的交换 。
提示>fake-swapon --remove-swap
如果-r
指定的-i
选项没有选项(标识要删除的单个交换),并且检测到多个交换文件,则fake-swapon将在继续之前提示用户。使用该-f
选项可以跳过提示。
要删除单个交换文件,请首先使用-l
选项获取交换ID 。然后使用-i
选项指定要删除的交换的ID:
提示>fake-swapon --remove-swap --swap-id fz34sk
局限性
fake-swapon临时交换实用程序有一些限制:
- 清理需要手动执行(只需使用
-r
命令行选项) - 重新启动之间必须重新运行该脚本(系统fstab不会被修改)
兼容性
fake-swapon仅可以针对Linux变体。当前支持的Linux发行版包括:
fake-swapon要求BASH 4.2或更高版本。
执照
fake-swapon是根据MIT开源许可证获得许可的。
没有开源,就没有今天我们知道的互联网。
这个自动脚本爽不爽?爽的话,帮我点个star:https://gitee.com/yunwisdoms/oa-front-service
翻译来源:https://github.com/markeissler/fake-swapon
推荐阅读:炫酷超拽!推荐一款Vue开发的OA系统,功能还不错哟!!!