手机swapfile有什么用

手机swapfile有什么用,第1张

使用 swap 有两种方式芹野,一种是创建 SWAP 分区即交换分区,另一种是使用 swap 文件

以前有一种说法是 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.

在添加swap分区之前我们可以了解下当前系统swap是否存在以及使用情况,可用:

了解硬盘使用情况(一般/dev/vda1为挂载硬盘):

使用dd命令创建名为液仿swapfile 的swap交换文件(文件名和目录任意):

执行完毕,对交换文件格式化并转换为swap分区:

挂载并激活分区:

执行以上命令可能会出现:“不安全的权限 0644,建议使用 0600”类似提示,不要紧张,实际上已经激活了,可以忽略肆埋祥提示,也可以听裂搏从系统的建议修改下权限:

这时候可以用 free –h 或 swapon –s命令查看新swap分区是否正常添加并激活使用。

修改 fstab 配置,设置开机自动挂载该分区:

在fstab文件末尾追加如下内容后:wq!保存即可:

/var/swapfile swap swap defaults 0 0

或直接对fstab进行echo追加:

先停止正在使用swap分区:

删除swap分区文件

删除或注释掉我们之前在fstab文件里追加的开机自动挂载配置内容:

/var/swapfile swap swap defaults 0 0

修改swappiness值,这里以50为例。

若希望vm.swappiness=50永久生效,则需要修改sysctl配置文件,直接echo追加配置内容,重启系统后即可生效:

dd if=/dev/zero of=/var/swapfile1 bs=1024 count=2097152

mkswap /var/swapfile1

swapon /var/swapfile1

原文:https://cloud.tencent.com/developer/article/1563155?from=information.detail.%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8A%A0%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98

命令有改动

使用腾讯 云服务器 也有一段时间了,不过由于对Linux知识了解的比较少,加上服务器稳定性一直都比较好的,所以便很少去折腾服务器。直到最近,站点时常打不开,查了很久的原因,才发现是内存不够导致的 ~

用命令free查看内存使用情况,发现swap分区大小为0,原来腾讯云主机默认是没有划分swap分区的。

所以由于我的服务器物理内存本身就很少,而且又没设置swap分区,运行效果可想而知,稍有点并发量、或者恶意用户探测访问等,网站就很容易卡壳了。

swap是用来做虚拟内存的。虽然swap无法代替物理内存,但不可缺少。

swap分区作用:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么 *** 作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

建立swap的两种方法

建立分区;

创建交换文件。

运行速度:

物理内存 >swap分区 >swap文件。

当你的数据盘已经装了很多内容,不方便重新规划的话,也只好使用swap文件了。像我由于只有一块磁盘,而且磁盘铅余已经装了不少内容,所以就没有选择磁盘格式化,而是选择创建swap文件。

下面介绍创建swap文件的方法:

创建swap文件

首先,选择你swap文件要放置的位置,比如直接在根目录/ 下创建或者选择一个目录,如/opt。比如绝激谈我直接在根目录下创建,然后设置swap分区的名称为swapfile:

定义swap的大小及位置

[root@VM_0_10_centos ~]# cd /  [root@VM_0_10_centos /]# dd if=/dev/zero of=/swapfile bs=1k count=2048000

上面swapfile为你创建swap文件分区并碰的名称,你可以根据需要改成你自己的名称bs 即blocksizes,每个块大小为1kcount=2048000,总大小为2G的文件。因为建立swap分区大小的标准一般为物理内存的两倍,而我的内存是1G,所以我选择swap文件大小为2G,当然,也要考虑你硬盘剩余容量的大小。我的硬盘还剩15G,所以再划分2G给swap文件绰绰有余。如果你的内存是0.5G,那么count大小可以选择1024000(1G)。

建立swap

[root@VM_0_10_centos /]# mkswap /swapfile

[root@VM_0_10_centos /]# chmod 600 /swapfile

启动swap

[root@VM_0_10_centos /]# swapon /swapfile

检查是否正确

[root@VM_0_10_centos /]# free -m              total        used        free      shared  buff/cache  available Mem:          1838        600          65          2        1172        1043 Swap:          1999          0        1999

或者使用swapon -s 命令查看:

[root@VM_0_10_centos /]# swapon -s 文件名      类型    大小  已用  权限 /swapfile                              file  2047996 0 -1

上面的Swap和/swapfile都分别能看到总容量大小,使用了多少。

设置开机时自启用swap分区  修改/etc/fstab使其启动时自动mount,这个 *** 作与swap分区法一样,在/etc/fstab中最后一行增加如下语句:

/swapfile  swap  swap    defaults 0 0

添加方法可以用vi进行编辑,或者直接echo添加:

[root@VM_0_10_centos /]# echo "/swapfile swap swap defaults 0 0" >>/etc/fstab

注: /swapfile 路径可以修改,可以根据创建的swap文件具体路径来配置。

删除swap分区

如果不再需要swap,可以清理该分区:

[root@VM_0_10_centos/]# swapoff /swapfile


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12277799.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存