交换分区管理 Swap
作用: ‘提升‘ 内存的容量,防止内存溢出OOM(Out Of Memory),造成过度消耗系统资源
一、查看当前的交换分区
[root@server0 ~]# free -m //查看系统交换分区信息
total used free shared buff/cache available Mem: 489 140 145 4 202 304
Swap: 0 0 0
[root@server0 ~]# swapon -s //查看系统交换分区信息
二、增加交换分区 可以是基本分区,LVM,File
===分区===
准备分区
[root@server0 ~]# fdisk /dev/vdb
[root@server0 ~]# partprobe /dev/vdb
[root@server0 ~]# ll /dev/vdb*
brw-rw----. 1 root disk 253, 16 12月 6 10:18 /dev/vdb
brw-rw----. 1 root disk 253, 17 12月 6 10:18 /dev/vdb1
初始化
[root@server0 ~]# mkswap /dev/vdb1 //制作交换分区
三.挂载
[root@server0 ~]# blkid /dev/vdb1
/dev/vdb1: UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" TYPE="swap"
[root@server0 ~]# vim /etc/fstab //设置开机挂载
UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" swap swap default 0 0
[root@server0 ~]# swapon -a (读取/etc/fstab)
[root@server0 ~]# swapon -s
Filename Type Size Used Priority
/dev/vdb1 partition 524284 0 -1
===File===
[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 xfs 10G 3.3G 6.8G 33% /
[root@server0 ~]# dd if=/dev/zero of=/swap.img bs=1M count=512
或者
[root@server0 ~]# dd </dev/zero >/swap.img bs=1M count=512 //取出一个文件制定大小
[root@server0 ~]# mkswap /swap.img
[root@server0 ~]# vim /etc/fstab
/swap.img swap swap default 0 0
[root@server0 ~]# swapon -a
swapon: /swap2.img: insecure permissions 0644, 0600 suggested.
[root@server0 ~]# chmod 600 /swap2.img
[root@server0 ~]# swapon -a
[root@server0 ~]# swapon -s
Filename Type Size Used Priority /dev/vdb1 partition 524284 0 -1
/swap2.img file 524284 0 -2
扩展
mount详解
常用挂载选项详解
挂载设备文件、UUID
挂载选项 -t 文件系统类型 -o 选项1,选项2...
示例: mount -t ext4 -o rw /dev/sdb1 /mnt/disk1
-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。
-o options 主要用来描述设备或档案的挂接方式。
文件系统类型:vfat,ext4,xfs,nfs,cifs,iso9660,loop
案例:exec/noexec
[root@fanhua ~]# mount /dev/vg01/lv01 /mnt/lv01 //挂载默认是有执行权限的
[root@fanhua ~]# mount -o noexec /dev/vg01/lv02 /mnt/lv02
[root@fanhua ~]# cat /mnt/lv01/hello.sh
#!/bin/bash
echo "hello"
[root@fanhua ~]# cat /mnt/lv02/hello.sh
#!/bin/bash
echo "hello"
[root@fanhua ~]# /mnt/lv01/hello.sh
hello
[root@fanhua ~]# /mnt/lv02/hello.sh
-bash: /mnt/lv02/hello.sh: Permission denied
常见的挂载选项
rw 读写
ro 只读
suid 支持suid
dev 支持设备文件
nodev 不支持设备文件
noexec 不允许执行二进制文件
exec 允许执行二进制文件
auto mount -a 开机自动挂载
noauto mount -a 开机不自动挂载
usrquota 支持用户级磁盘配额功能
grpquota 支持组级磁盘配额功能
acl 支持facl功能
remount 在线重新挂载
pri 指定优先级