Linux-swap分区

1、基础

1.1、什么是swap

Swap分区在系统的物理内存不够时,将硬盘中的一部分空间供当前运行的程序使用。

1.2、为什么需要swap

1.2.1、原因

当物理内存不够时会随机 kill占用内存的进程,从而产生oom ,临时使用swap可以解决。

1.2.2、oom故障模拟

~]# dd if=/dev/zero of=/dev/null bs=3500M

#故障日志
~]# tail -f /var/Log/messages
out of memory: Kill process 2227 (dd) score 778 or sacrifice child
Killed process 2227 (dd) total-vm:906724kB, anon-rss:798820kB,file-rss:0kB

2、创建swap分区

2.1、创建硬盘分区

2.1.1、fdisk创建

fdisk /dev/sdb

2.1.2、修改文件系统类型

查询文件系统类型
Command (m for help): l
 18 HP-UX service                  E2A1E728-32E3-11D6-A682-7B03A0000000
 19 Linux swap                     0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
 20 Linux filesystem               0FC63DAF-8483-4772-8E79-3D69D8477DE4

Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 19
Changed type of partition 'Linux filesystem' to 'Linux swap'

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 703C018B-A48B-42F9-93E7-5FE11908195A


#         Start          End    Size  Type            Name
 1         2048     16779263      8G  Linux swap      

Command (m for help): w
The partition table has been altered!

2.1.3、格式化swap

mkswap /dev/sdb1

2.2、挂载swap分区

2.2.1、挂载所有swap

# 主要加载/etc/fstab
]# swapon -a

2.2.2、挂载指定设备swap

]# swapon /dev/sdb1
]# free -g
              total        used        free      shared  buff/cache   available
Mem:              1           0           1           0           0           1
Swap:             9           0           9

2.3、卸载swap分区

2.3.1、卸载指定设备swap

]# swapoff /dev/sdb1

]# free -g
              total        used        free      shared  buff/cache   available
Mem:              1           0           1           0           0           1
Swap:             1           0           1

3、配置swap开机自动挂载

3.1、自动追加配置

blkid | grep /dev/sdb1  | awk -F '[: ]+' '{print $2}' | sed -r 's#(.*)#\1 swap swap defaults 0 0 #g'>>/etc/fstab

3.2、查看配置文件

]# tail -1 /etc/fstab 
UUID="d9258bbf-24b8-4e79-83b3-4f5efd4f1741" swap swap defaults 0 0 

3.3、测试是否挂载正常

]# swapon -a

]# free -g total used free shared buff/cache available Mem: 1 0 1 0 0 1 Swap: 9 0 9

 

posted @ 2023-04-21 18:48  小粉优化大师  阅读(267)  评论(0)    收藏  举报