
以前有一种说法是 swap 分区比 swap 文件在速度上要快一些,但是在 linux 内核 2.6.x 及以后版本,这两种方法在性能和速度上其实很接近了,特别是 swap 文件是连续存放在硬盘里的情况下。而且 swap 文件比 swap 分区更灵活,可以放在硬盘的任何目录下,并且随时调整大小。基于这两种不同方式各自的优缺点,你可以根据实际情况选择使用哪种方式。
1、可以使用 swap -s 命令查看 swap 设置的情况。
daweibro@aliyun:~$ swapon -s
Filename TypeSizeUsedPriority
/var/swap file20971480-1
上面是大伟哥阿里云 ECS 的情况,说明 swap 是文件的形式,大小是 2 GB 左右,文件位于/var/目录下面。
daweibro@Workstation:~$ swapon -s
FilenameTypeSizeUsedPriority
/dev/dm-2 partition 39997400-1
上面是大伟哥工作用电脑的情况,这里 swap 是独立分区的形式,大小 4GB 左右。
2、使用 top 或者 free -m 命令可以查看当前内存和 swap 具体的使用情况。这里我们以 free -m 为例:
daweibro@aliyun:~$ free -m
total used free sharedbuffers cached
Mem: 992875116 65101370
-/+ buffers/cache:404588
Swap: 2047 0 2047
以上 Mem 部分第一二行是物理内存的使用情况 ,较后一行就是 swap 的使用情况了。完全没用到,说明目前阿里云的 ECS 很悠闲,一点也不累。
daweibro@Workstation:~$ free -m
totalusedfree shared buff/cache available
Mem: 19954 107616701 41624928327
Swap: 3905 03905
工作用的电脑也还行,内存占用率更低,交换分区也没用上。
3、创建 swap 分区或者 swap 文件。
创建 swap 分区要用到分区工具比如 fdisk 或者 parted,这里大伟哥就不讲了,只是提醒一下,磁盘 *** 作需要小心谨慎,万一丢失数据就不好了。
要创建 swap 文件,可以用 dd 命令,下面的例子就是在/根目录下创建一个 2048 GB 大小的文件,名称是 swapfile:
dd if=/dev/zero of=/swapfile bs=1M count=2048
给予合适的权限:
chmod 600 /swapfile
4、建立 swap 的文件系统:
mkswap /swapfile
如果你创建的是 swap 分区/dev/sdb,则需要用同样的命令对 swap 分区进行格式化:
mkswap /dev/sdb
5、建立 swap 的文件系统:
swapon /swapfile
或者:
swapon /dev/sdb
6、编辑/etc/fstab 文件,在文件末尾根据情况加入下面这两行中的一行,然后保存退出,再重启系统运行 swapon -s 或者 top/free 命令应该就能看到新添加的 swap 交换区了。
/swapfile none swap defaults 0 0
或者:
/dev/sdb none swap defaults 0 0
7、如果你做了一个艰难的决定,要和之前的 swap 交换区说再见,只要反方向 *** 作就可以了。首先 swapoff,然后删除 swap 文件或分区:
# swapoff -a
# rm -f /swapfile
较后把之前加入/etc/fstab 文件的行删除就好了。
三、如何使用 swappiness 参数设置用好 SWAP?
论坛上的朋友因为担心 swap 的使用会拖慢系统,所以才发贴寻求删除 swap 交换分区的方法,其实不用过分担心这一点,因为 linux 肯定不会那么傻,放着大量空闲的物理内存不用而去使用慢得多的 swap。就如大伟哥前面的例子,不管是 1 GB 内存的阿里云 ECS 服务器,还是 20 GB 内存的工作站,在物流内存还有富余的情况下,linux 默认是用不到 swap 分区的。如果到了大量使用 swap 分区的时候,那物理内存肯定是不够用了,这时候没有 swap 分区反而性能下降会更明显。所以没有太大的必要去删除 swap 分区。
“swap file”的意思是:n. [计] 交换文件。
1、相关短语:
swap the file names 交换的文件名
Permanent Swap File 永久交换档 永久交换文件 永久调换档 固定交换文件
application swap file 应用程序交换文件 应用程序交换文件英语
Swap File Size Sensor 交换文件大小传感器
Swap File Utilization Sensor 交换文件使用传感器
2、例句:A 2 GB RAM machine with no swap file performs almost every Eclipse operation faster.
开分区:进入recevery打开advance一项有ext和swap分区设置进入设置分区大小,然后重启,《也可用电脑软件》
挂载分区:进入手机终端模拟器,输入su获取权限再输入
busybox
mkswap
/dev/block/mmcblk0p3挂载swap分区输入free看最底下一项是否不为0,如不为0既已挂载上,用s2e软件挂载ext分区
分区开启比较麻烦一些!不过的确是可以的。1、修改/system/etc/enhanced.conf,将swapadd改为/sdcard,其他地方也可以改一下,改后如下#请一定确认输入正确,否者会导致出错# Set your SWAP file#在下面等号后输入你需要的swap的文件的位置,可输入/sd-ext,/sdcard 或者如/sd-ext/swap这样的位置,默认为/sd-ext。此选项仅在文件方式开启swap时有效。#如果要设置到/sdcard,请确认安装设置了双重挂载插件或者USB连接电脑前关闭swap功能SWAPADD=/sdcard#在下面等号后输入你需要的swap的文件的大小,单位为MB,默认为64,请确定有足够的空间建立swap文件(建议大于30MB,小于100MB),此选项仅在建立swap文件时有效。SWAPSIZE=64#在下面等号后输入手机使用SWAP的优先率,范围为0-100,默认为35。1为最大限度使用手机内存,100表示最大限度的使用SWAP虚拟内存。此选项在swap分区与swap文件时均有效。SWAPPINESS=35#在下面等号后输入你需要的备份还原模式所对应的数字。0表示备份数据(不打包)到sd-ext分区;1表示备份数据(打包)到sdcard;2表示备份程序和数据(打包)到sdcard。默认为1。BACKUPMODE=1复制代码2、进入/sbin/gk,运行swap脚本3、开启后一定要注意,不能卸载SDCARD,也不能usb连接电脑哦。不然会出错。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)