交换分区以及其它外设的挂载

一、交换分区创建与挂载

交换分区是系统内存的补充,为什么出来交换分区这一概念了,那就还得先从计算机的发展说起,毕竟对于早期的计算机设备来说,内存是一个比较昂贵的耗材,所以在当时内存资源比较紧张,而应用程序对内存的需求又在不断膨胀的情况下,专家们提出了一种新的思路,那就是把高速的磁盘设备划分一部分出来当作内存来使用,当然对于计算机设备工作效率有一定了解的同学们都知道,硬盘的读写速度和内存根本不在一个层面上,所以说即使把高速的硬盘分区拿来当内存用,那也只不过是一个模拟操作,计算机只会把一些不是当前活动最为频繁的进程的数据,暂时存放到交换分区中,当该进程转换为当前进程时,计算机会及时的把交换分区上的数据及时调入内存继续工作。在高速磁盘上划分的这一区域我们就把它称之为交换分区。

当然我们要想提升这个交换分区的性能,最好是在安装操作系统的过程中就直接划分好,为什么这么说了,因为磁盘最外圈的磁道的读写速度是最快的,而磁盘分区工具默认划分分区时,都是从最外圈磁道开始的,所以说,如果你是在操作系统已经安装完之后再去创建交换分区,很显然你是无法再次划分到最快的那一部分区域来做交换分区了。

(一)使用硬盘分区做交换分区

在这里由于我的机器内存是比较大的,完全没有必须在拿硬盘来模拟内存了,所以我在安装操作系统的过程中就直接没有划分交换分区。所以为了给大家演示这一操作过程,只能用剩余硬盘空间划分一个分区来做交换分区了。

第一步:划分分区,调整分区类型为SWAP(82)

示例代码:

[[email protected] test]# free -h

total        used        free      shared  buff/cache   available

Mem:           1.8G        299M        1.0G        9.0M        455M        1.3G

Swap:            0B          0B          0B

[[email protected] test]# fdisk /dev/sda

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Command (m for help): p

Disk /dev/sda: 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: dos

Disk identifier: 0x000e74ad

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048      411647      204800   83  Linux

/dev/sda2          411648    10897407     5242880   83  Linux

/dev/sda3        10897408    21383167     5242880   83  Linux

/dev/sda4        21383168    41943039    10279936    5  Extended

/dev/sda5        21385216    31870975     5242880   83  Linux

Command (m for help): n

All primary partitions are in use

Adding logical partition 6

First sector (31873024-41943039, default 31873024):

Using default value 31873024

Last sector, +sectors or +size{K,M,G} (31873024-41943039, default 41943039): +2G

Partition 6 of type Linux and of size 2 GiB is set

Command (m for help): t

Partition number (1-6, default 6):

Hex code (type L to list all codes): L

0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris

1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-

2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-

3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-

4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx

5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data

6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .

7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility

8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt

9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access

a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O

b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor

c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs

e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT

f  W95 Ext‘d (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/

10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b

11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor

12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor

14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary

16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS

17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE

18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto

1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep

1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT

1e  Hidden W95 FAT1 80  Old Minix

Hex code (type L to list all codes): 82

Changed type of partition ‘Linux‘ to ‘Linux swap / Solaris‘

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

[[email protected] test]#

第二步:通知内核重读硬盘分区表(否则系统无法识别划分的分区)

示例代码:

[[email protected] test]# partprobe /dev/sda

[[email protected] test]# lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT

sda      8:0    0   20G  0 disk

├─sda1   8:1    0  200M  0 part  /boot

├─sda2   8:2    0    5G  0 part  /

├─sda3   8:3    0    5G  0 part  /test

├─sda4   8:4    0  512B  0 part

├─sda5   8:5    0    5G  0 part  /home

└─sda6   8:6    0    2G  0 part

[[email protected] test]#

第三步:使用mkswap格式化交换分区(方便区分,最好添加卷标)

示例代码:

[[email protected] test]# mkswap -L swappart /dev/sda6

Setting up swapspace version 1, size = 2097148 KiB

LABEL=swappart, UUID=082ebfdf-e8ad-4874-af8e-6a5f2a01c7ac(当前交换分区的UUID)

[[email protected] test]#

第四步:使用swapon [DEVICE]挂载交换分区,并用free -h检验结果

示例代码:

[[email protected] test]# swapon /dev/sda6

[[email protected] test]# free -h

total        used        free      shared  buff/cache   available

Mem:           1.8G        302M        1.0G        9.0M        459M        1.3G

Swap:          2.0G          0B        2.0G

[[email protected] test]#

如果是临时使用,至此就可以正常使用刚才划分出来的2G的交换分区了。如果想长期使用,就必须写入磁盘挂载配置文件。

第五步:在/etc/fstab文件中添加自动挂载条目

UUID="当前交换分区的UUID" swap swap defaults 0 0

挂载交换分区

swapon [OPTION]... [DEVICE]

-a:激活所有的交换分区;

-p PRIORITY:指定优先级

当使用多个交换分时,可以为其指定优先级

长期生效写入fstab文件中的defaults字段:pri=value(值越大,优先级越高)

-s:查看交换分区使用情况(包括优先级)

示例代码:

[[email protected] test]# free -h

total        used        free      shared  buff/cache   available

Mem:           1.8G        302M        1.0G        9.0M        459M        1.3G

Swap:          2.0G          0B        2.0G

[[email protected] test]# swapon -a

[[email protected] test]# free -h

total        used        free      shared  buff/cache   available

Mem:           1.8G        303M        1.0G        9.0M        464M        1.3G

Swap:          3.0G          0B        3.0G

[[email protected] test]# swapon -s

Filename Type Size Used Priority

/dev/sda6               partition 2097148 0 -1

/dev/sda7               partition 1048572 0 -2

[[email protected] test]#

卸载交换分区

swapoff [OPTION]... [DEVICE]

/dev/sda* 卸载某个交换分区

-a 卸载所有交换分区

示例代码:

[[email protected] test]# free -h

total        used        free      shared  buff/cache   available

Mem:           1.8G        304M        1.0G        9.0M        463M        1.3G

Swap:          3.0G          0B        3.0G

[[email protected] test]# swapoff /dev/sda7

[[email protected] test]# free -h

total        used        free      shared  buff/cache   available

Mem:           1.8G        304M        1.0G        9.0M        463M        1.3G

Swap:          2.0G          0B        2.0G

[[email protected] test]# swapoff -a

[[email protected] test]# free -h

total        used        free      shared  buff/cache   available

Mem:           1.8G        302M        1.0G        9.0M        463M        1.3G

Swap:            0B          0B          0B

[[email protected] test]#

SWAP的优先级

用户可以给某个swap指定一个0到32767的优先级

如果用户没有指定,那么核心会自动给swap指定一个优先级,这个优先级从-1开始,每加入一个新的没有用户指定优先级的swap,会给这个优先级减一

先添加的swap的缺省优先级比较高,除非用户自己指定一个优先级,而用户指定的优先级(是正数)永远高于核心缺省指定的优先级(是负数)

(二)特殊情况,如遇没有单独的分区用作交换分区时,可用文件制作交换分区

第一步:使用dd命令创建一个交换文件

    注意:文件不可使用跳过方式创建,否则格式化时会报错:分区有漏洞

    示例代码:

[[email protected] test]# dd if=/dev/zero of=/test/swapfile bs=1M count=1024

1024+0 records in

1024+0 records out

1073741824 bytes (1.1 GB) copied, 34.1887 s, 31.4 MB/s

[[email protected] test]#

第二步:使用mkswap命令格式化交换文件

示例代码:

[[email protected] test]# mkswap -L swapfile /test/swapfile

Setting up swapspace version 1, size = 1048572 KiB

LABEL=swapfile, UUID=4618be9e-f44d-4962-b1ce-7e04317e3e5e

[[email protected] test]#

第三步:使用swapon [DEVICE]挂载交换分区,并用free -h检验结果

示例代码:

[[email protected] test]# free -h

total        used        free      shared  buff/cache   available

Mem:           1.8G        303M         80M        9.0M        1.4G        1.3G

Swap:            0B          0B          0B

[[email protected] test]# swapon /test/swapfile

swapon: /test/swapfile: insecure permissions 0644, 0600 suggested.

[[email protected] test]# free -h

total        used        free      shared  buff/cache   available

Mem:           1.8G        303M         79M        9.0M        1.4G        1.3G

Swap:          1.0G          0B        1.0G

[[email protected] test]#

第四步:在/etc/fstab文件中添加自动挂载条目

/test/swapfile  swap    swap    defaults    0 0(注意这里和普通分区的挂载有所不同)

待续……

时间: 2024-10-13 16:04:14

交换分区以及其它外设的挂载的相关文章

磁盘管理之挂载扩容交换分区及其dd命令

一.磁盘挂载回忆小结   1.挂载磁盘可用的方法 1)设备名进行挂载    2)卷标挂载    3)UUID挂载(此方法常用,UUID为随机生成,唯一性确保挂载成功) 2.文件挂载配置文件详解 /etc/fstab每行代表的意义,如下: 1)挂载的设备或伪文件系统    2)挂载点    3)文件系统类型    4)挂载选项    5)转储频率    6)自检次序 演示: tmpfs                   /dev/shm                tmpfs   defaul

磁盘分区格式化,挂载,交换分区的挂载

硬盘分区并挂载 环境:虚拟机,centos6.5 1.添加一块硬盘20G 2.查看fdisk -l分区情况,是一块完整的盘 # fdisk -l Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes 

linux系统--free,交换分区,mkswap,swapon,swapoff,dd,自动挂载,fuser

swap分区: free -m fdisk命令中,调整分区类型为82: 创建交换分区: mkswap /dev/sda8 -L LABEL swapon /dev/sda8 -a:启用所有的定义在/etc/fstab文件中的交换设备 swapoff /dev/sda8 [[email protected] ~]# free total       used       free     shared    buffers     cached Mem:       1906492     346

阿里云 Cent OS 6.3版本自动挂载交换分区失败原因

阿里云服务器默认是没有交换分区的. 而且阿里云服务器在某些版本Linxu系统(Cent OS6.3)中在/etc/rc.d/rc.local脚本中将所有fstab中要求挂载的swap分区都给关闭了.Cent OS6.5就没有关闭. 咨询了阿里云工程师为何关闭swap,回复如下: 您好,swap主要是内存不够用的时候,将内存中不使用的一些内容放到swap中,内存会和swap频繁交换数据.这个可能会引起io的问题.如果内存够用,除非有特殊情况,比如安装oracle.建议不使用swap.请了解. 不过

Linux系统磁盘管理(实操演示磁盘分区创建,文件系统的挂载与自动挂载)

磁盘结构: 简介: 磁盘(disk)是指利用磁记录技术存储数据的存储器.磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失.早期计算机使用的磁盘是软磁盘(soft disk,简称软盘),如今常用的磁盘是硬磁盘(hard disk,简称硬盘). 硬盘的物理结构: 盘片:硬盘中一般会有多个盘片组成,每个盘片包含两个面,每个盘面都对应地有一个读/写磁头.受到硬盘整体体积和生产成本的限制,盘片数量都受到限制,一般都在5片以内.盘片的编号自下向上从0开始,如最下边的盘片有0

linux基础篇-24,swap交换分区临时救急及划分方法

################################################ swap 查看物理内存和交换分区大小及其使用情况 [[email protected] ~]# free -m total       used       free     shared    buffers     cached Mem:          1869        192       1676          0         13         65 -/+ buffer

Linux入门之磁盘管理(4)/etc/fstab与交换分区

在linux通过挂载命令可以使用各种选项进行不同文件系统的设备文件进行挂载,当然不仅限于块设备,但是无论怎么挂载,一般默认新建的文件系统进行挂载开机是不会自动挂载的,每次开启自动挂载的分区时通过/etc/fstab文件进行读取的. /etc/fstab文件 简介: 此文件内容每一行都被定义一个条目的对应挂载信息,如果把每行条目按空格切割成多断那么可以分为下面几列: 要挂载的设备或者伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序 挂载设备:一般为:设备名.LABEL="设备卷标名&

Linux设置交换分区swap

参考: http://www.vpser.net/opt/vps-add-swap.html https://www.zntec.cn/archives/vps-swap.html http://yzs.me/1431.html 添加: #step 1 生成Swap文件(256MB为例) sudo dd if=/dev/zero of=/var/swapfile bs=1024 count=262144 #step 2 设置交换分区 sudo mkswap /var/swapfile #step

linux高级文件系统管理概述:处理交换分区、设置文件系统配额、配置raid和逻辑卷

8月26号,学习了linux(CentOS6.8)文件系统管理,内容颇多,主要分为如下几个部分: 一.处理交换分区和文件及移动介质的使用 二.常见工具free,df,du,dd的使用 三.设置文件系统配额 四.配置raid 五.配置逻辑卷 六.btrfs文件系统 一.处理交换分区和文件及移动介质的使用 交换分区是系统RAM的补充 基本设置包括: 创建交换分区或者文件 使用mkswap写入特殊签名 在/etc/fstab文件中添加适当的条目 使用swapon -a 激活交换空间 1.挂载交换分区