linux交换分区管理SWAP

linux交换分区管理SWAP_第1张图片

6.2.5 交换分区管理SWAP

6.2.5.1 概念

作用:

”提升“内存容量,防止OOM(out of memory,内存溢出)。
​
对应windows中的虚拟内存。
​
从功能上讲,交换分区主要是在内存不够用的时候,将部分内存上的数据交换到swap空间上,以便让系统不会因内存不够用而导致OOM或者更致命的情况出现。
也就是说,当内存不够用时,我们使用 swap 分区来临时顶替。这种“拆东墙,补西墙”的方式应用于几乎所有的操作系统中
使用swap交换分区,显著的优点是,通过操作系统的调度,应用程序实际可以使用的内存空间将远远超过系统的物理内存。由于硬盘空间的价格远比RAM要低,因此这种方式无疑是经济实惠的。当然,频繁地读写硬盘,会显著降低操作系统的运行速率,这也是使用swap交换分区最大的限制。

swap大小:

推荐:设置交换分区大小为内存的2倍。

但在企业中,

大于 4GB 而小于 16GB 内存的系统,最小需要 4GB 交换空间;
大于 16GB 而小于 64GB 内存的系统,最小需要 8GB 交换空间;
大于 64GB 而小于 256GB 内存的系统,最小需要 16GB 交换空间。
6.2.5.2 查看当前的交换分区:free
free命令用于显示内存状态。
​
free指令会显示内存的使用情况,包括实体内存,虚拟 -m的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

free命令的基本语法如下:

free [-bkmotV][-s <间隔秒数>]

参数说明

  • -b  以Byte为单位显示内存使用情况。

  • -k  以KB为单位显示内存使用情况。

  • -m  以MB为单位显示内存使用情况。

  • -h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:

  • B = bytes
    K = kilos
    M = megas
    G = gigas
    T = teras
  • -o  不显示缓冲区调节列。

  • -s<间隔秒数>  持续观察内存使用状况。

  • -t  显示内存总和列。

例1:

以MB为单位显示内存使用情况。

free -m

显示内存使用情况。

free

以总和的形式显示内存的使用信息。

free -t

周期性的查询内存使用信息。

free -s 10    # 每10s执行一次命令。

例2:

准备将/dev/sde磁盘划分为1G分区。

n  # 开始分区
p
+1G # 分配1G分区
t   # 查看分区类型

将分区类型改为82(Linux交换)。

82
w
partprobe /dev/sde  # 刷新
​
mkswap /dev/sde1    # 格式化
swapon /dev/sde1    # 挂载,卸载swapoff
​
free -m # 验证swap划分成功
​
fdisk  /dev/sde
ll /dev/sde*

注:

以上挂载均为临时挂载
永久挂载将命令写入/etc/fstab文件中(容易出错,不建议学习时进行该步骤操作)

例3:写满磁盘

# 抄写文件
dd if=/dev/zero  of-/mnt/disk4/1.txt bs=1M count=1000
# 新控制台
watch -n0.5 'df -Th'
# 再次复制文件
cp -rf /etc/  /mnt/disk4
ls /mnt/disk4/  -lh
# 无法继续存储数据

你可能感兴趣的:(linux,运维,服务器,架构,分布式,后端,centos)