一、基础知识

SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用.它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。

需要注意的是,虽然这个SWAP分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存.SWAP分区只是临时的解决办法.

linux下得分区推荐一个交换分区,一个根分区,其中交换分区如上所说作为redhat或者其它虚机所划分的内存不够时候来使用!

交换分区(swap)的合理值一般在内存的2 倍左右,可以适当加大。实际上具体还是以实际应用为准,swap为内存的2倍也不过是一种以讹传讹的说法。如果交换分区的使用都超过4GB以上了,可想而知服务器的性能应该差很多了。

Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件。前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕。

二、创建交换分区

1.环境准备

准备一台虚拟机,并添加一块虚拟磁盘.vdb是我添加的虚拟磁盘

[root@server0 ~]# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  10G  0 disk 
└─vda1 253:1    0  10G  0 part /
vdb    253:16   0  10G  0 disk

2.划分分区

在vdb下划分一块分区,大小位512M,作为交换分区

[root@server0 ~]# fdisk /dev/vdb

[root@server0 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0   10G  0 disk 
└─vda1 253:1    0   10G  0 part /
vdb    253:16   0   10G  0 disk 
└─vdb1 253:17   0  512M  0 part

3.格式化交换分区

[root@server0 ~]# mkswap /dev/vdb1   #格式化交换分区

[root@server0 ~]# blkid /dev/vdb1
/dev/vdb1: UUID="8ba9c6d1-afe1-47a7-bcca-557087c0c881" TYPE="swap"     #确认格式化结果

4.配置交换分区的开机启用

[root@server0 ~]# vim /etc/fstab

/dev/vdb1 swap swap defautls 0 0   #在/etc/fstab 配置挂载信息 挂载点比较特殊 为swap

5.确认挂载配置可用

[root@server0 ~]# swapon -a    #启用新交换分区

[root@server0 ~]# swapon -s    #查看挂载信息

文件名                类型        大小    已用    权限
/dev/vdb1           partition    524284    0    -1

[root@server0 ~]# free                     #查看内存信息
             total       used       free     shared    buffers     cached
Mem:        836720     746600      90120      17108        356     255424
-/+ buffers/cache:     490820     345900
Swap:       524284          0     524284

6.基本命令

swapon [分区名或文件名]    #将指定分区或文件作为swap使用,也可以-a开启全部swap

swapoff [分区名或文件名]    #同上,有开就有关。

swapon -s     #查看目前使用的swap

7.根据实际内存调整分区大小

4G以内的物理内存,SWAP 设置为内存的2倍。
4-8G的物理内存,SWAP 等于内存大小。
8-64G 的物理内存,SWAP 设置为8G。

64-256G物理内存,SWAP 设置为16G。

8.修改交换分区的方法

思路:将之前的交换分区关闭,重新调整分区大小,或者新建一个主分区作为交换分区

[root@server0 ~]# fdisk /dev/vdb

[root@server0 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0   10G  0 disk 
└─vda1 253:1    0   10G  0 part /
vdb    253:16   0   10G  0 disk 
├─vdb1 253:17   0  512M  0 part 
└─vdb2 253:18   0    1G  0 part

[root@server0 ~]# vim /etc/fstab

/dev/vdb2 swap swap defautls 0 0    #开机自启

[root@server0 ~]# mkswap /dev/vdb2   #格式化

[root@server0 ~]#swapon -a   #开启所有

[root@server0 ~]# swapon /dev/vdb2
[root@server0 ~]# swapon -s
文件名                类型        大小    已用    权限
/dev/vdb2       partition    1048572    0    -

How to add Swap File

Follow these steps to add 1GB of swap to your server. If you want to add 2GB instead of 1 GB, replace 1G with 2G.

  1. 创建交换分区,存放到根下,使用的是挂载根的那部分磁盘

    sudo fallocate -l 1G /swapfile

    如果以上命令执行失败,使用下面这一条,dd命令可以指明使用哪块磁盘分区来做交换分区,bs=1024代表1024个块,count=1048576bytes=1m,也就是1024m=1G,如果要分大点做乘数即可

  2. sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
  3. 仅允许root用户做写操作

    sudo chmod 600 /swapfile
  4. 使用mkswap命令声明swapfile为一个swap文件

    sudo mkswap /swapfile
  5. 允许使用该交换分区

    sudo swapon /swapfile

    可以设置开机自动挂载:

    /etc/fstab

    /swapfile swap swap defaults 0 0

    Copy

  6. To verify that the swap is active, use either the swapon or the free command as shown below:

    sudo swapon --show
    NAME      TYPE  SIZE   USED PRIO
    /swapfile file 1024M 507.4M   -1
    sudo free -h
                  total        used        free      shared  buff/cache   available
    Mem:           488M        158M         83M        2.3M        246M        217M
    Swap:          1.0G        506M        517M

How to adjust the swappiness value

Swappiness is a Linux kernel property that defines how often the system will use the swap space. Swappiness can have a value between 0 and 100. A low value will make the kernel to try to avoid swapping whenever possible, while a higher value will make the kernel to use the swap space more aggressively.

The default swappiness value is 60. You can check the current swappiness value by typing the following command:

cat /proc/sys/vm/swappiness
60

While the swappiness value of 60 is OK for most Linux systems, for production servers, you may need to set a lower value.

For example, to set the swappiness value to 10, you would run:

sudo sysctl vm.swappiness=10

To make this parameter persistent across reboots append the following line to the /etc/sysctl.conf file:

/etc/sysctl.conf

vm.swappiness=10

The optimal swappiness value depends on your system workload and how the memory is being used. You should adjust this parameter in small increments to find an optimal value.

如何删除交换分区

If for any reason you want to deactivate and remove the swap file, follow these steps:

  1. 首先停止交换分区

    sudo swapoff -v /swapfile
  2. 删除/etc/fstab里的开机自启项

  3. 最后使用rm删除文件

    sudo rm /swapfile

Conclusion

You have learned how to create a swap file and activate and configure swap space on your Linux system.

Linux交换分区 swap分区相关推荐

  1. Linux 上扩展swap分区

    Linux 上扩展swap分区 想像一种情景,当我们的Linux系统用尽交换空间时,在这种情况下,我们想要使用swap分区扩展交换空间,但在某些情况下磁盘上已经没有可用的空闲分区了,致使我们不能把它扩 ...

  2. Linux下增加swap分区

    Linux 下增加swap分区 环境:Linux EL4 +  Oracle 10g 1.检查当前的分区情况 (使用free -m或cat /proc/swaps ): [root@db2 root] ...

  3. linux 1t 分区,Linux磁盘管理——swap分区

    对swap分区的误解 一种流行的.以讹传讹的说法是,安装Linux系统时,交换分区swap的大小应该是内存的两倍.也就是说,如果内存是2G,那么就应该分出4G的硬盘空间作为交换空间.其实这是严重的浪费 ...

  4. Linux下察看swap分区大小及增加分区大小

    Linux下察看swap分区大小的命令 top 或者fdisk -l 或者free -m SWAP分区一般大小为物理内存的2倍,但最大不超过2G: 增加SWAP空间的方法有两个:增加另外一个SWAP分 ...

  5. 简述Linux中Swap分区的作用,linux下的swap分区

    一.什么叫swap分区 swap分区,即交换区,swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一 ...

  6. linux下增加swap分区,LINUX新建和增加SWAP分区

    我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢? 在装完Linux系统之后,建立Swap分区有两种方法. 1.新建磁盘分区作为swa ...

  7. linux如何挂载swap分区,Linux挂载新硬盘和创建Swap分区的方法

    Liunx添加新硬盘其实和Windows的操作一样,但一个是图形化操作,另一个是命令行操作,不过步骤是一样,下面就动手演示和讲解 Linux挂载新硬盘 1.查看硬盘信息 命令:fdisk -l [ro ...

  8. linux修改swap分区大小2GB,Linux下修改Swap分区大小

    据了解Linux下可以有两种方法创建交换空间,一种是创建交换分区,另一种是创建交换文件.本文记录的是创建交换文件的方法,因为我用的是这种方法.. 添加交换文件步骤: 1.找个地方创建一个.swap的文 ...

  9. linux下的swap分区

    一.什么叫swap分区 swap分区,即交换区,swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一 ...

  10. Linux如何配置Swap分区

    今天发现自己的服务器内存不够了,于是给他加了Swap分区.但实际生产环境中最好不要设置Swap分区,因为他是存在磁盘中的性能比内存中差了好多. Swap分区 Swap分区在系统的物理内存不够用的时候, ...

最新文章

  1. 李洪强iOS经典面试题153- 补充
  2. Eclipse SVN冲突详细解决方案
  3. 在 ASP.NET MVC 中使用 Chart 控件
  4. CakePHP Pagination (分頁功能) 加入自己的參數
  5. select * from ( union ) ')' 附近有语法错误。
  6. 【JAVA基础篇】内部类
  7. 云服务已一步一步“入侵”我们生活
  8. SpringMVC多拦截器的执行
  9. 桌面上的Flutter:Electron又多了个对手
  10. 吴恩达机器学习:偏差与方差、欠拟合与过拟合
  11. Android开发笔记(一百六十六)H5通过WebView录像上传
  12. PLSQL Developer 安装使用教程详解
  13. 一名普通电工,靠手艺两年赚了340万,从此走向人生巅峰!
  14. 单片机c语言直接寻址 间接寻址,pic单片机教程之数据存储器的直接间接寻址方式...
  15. ionic 插件安装
  16. matlab2016 wavread,matlabwavread用法
  17. 惊爆Oblog4.6 的0day
  18. 阿里、华为登顶商科工科最具吸引力雇主;国家电网、京东方等入选全国企业科技创新百强 | 美通企业日报...
  19. 快手财报,广告、直播、电商齐头并进
  20. Win10下用SCP命令免密码上传、下载阿里云服务器上的文件

热门文章

  1. 微软,谷歌和雅虎收购比较
  2. ado全称_JDBC、ODBC、OLE DB、ADO、ADOMD区别与联系
  3. 大数据实战第十六课(上)-Spark-Core04
  4. NoSQL数据库Redis--1
  5. layer的move要怎么用
  6. Win11复制粘贴不了怎么办?Win11无法复制粘贴的解决方法
  7. 网站修改了文档html默认保存路径,我在网页上打开word文档修改后就直接保存了 请问他的保存路径在哪???...
  8. CS5序列号文件,以后就不用担心序列号了
  9. 注册github账号指南
  10. 我的个人博客网站是怎么制作的?