Linux基础命令---mkswap

简介:
mkswap
        在Linux设备或者文件中创建交换分区,创建完成之后必须使用swapon来使用它。一般在“/etc/fstab”中有一个交换分区列表,这样开机的时候就可以使用它。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
        mkswap  [-c]  [-f]  [-p PSZ]  [-L label]  [-U uuid]  device  [size]
        参数device通常是一个磁盘分区(类似于/dev/sdb7),但也可以是一个文件。Linux内核不查看分区ID,但是许多安装脚本将假定十六进制类型82(Linux_SWAP)的分区是交换分区。(警告:Solaris也使用此类型。小心不要关闭Solaris分区。)
        参数size是多余的,但为了向后兼容性而保留
        PSZ参数指定要使用的页大小。指定它几乎是不必要的(甚至是不明智的),但是某些旧的libc版本是关于页面大小的,所以mkswap有可能弄错了它。症状是后续Swapon失败了,因为没有找到交换签名。PSZ的典型值为4096或8192。

2、选项列表
        -c
                创建交换分区之前,检测坏块。如果有,那么打印出数量。
        -f
                强制执行。如果没有此选项,mkswap将拒绝擦除带有分区表的设备上的第一个块或整个磁盘上的第一个块(例如/dec/sda)。
        -p
                设置页大小,默认4096。一般是不需要指定这个参数的
        -L label
                指定一个label,方便swapon使用。只适用于新的风格交换区域
        -v1
                创建v1版本的swap分区,2.5内核之后只支持这种的
        -U uuid
                指定uuid,默认情况会生成uuid

3、说明
        交换头不触及第一个块。引导加载程序或磁盘标签可以在那里,但不建议安装。建议的设置是为Linux交换区域使用单独的分区。mkswap和许多其他类似mkfs的实用程序一样,擦除了第一块,这样就可以删除磁盘上的旧系统。mkswap拒绝擦除带有磁盘标签的设备上的第一个块,或者整个磁盘。
        交换区域的最大有用大小取决于体系结构和内核版本,在i386、PPC、m68k、ARM、sparc上为1 GiB、MIPS上为512 MiB、alpha上为128 GiB、sparc64上为3 TiB。对于2.3.3以后的内核来说,没有这样的限制。请注意,在2.1.117之前,内核为每个页面分配了一个字节,而现在它分配了两个字节,因此使用中的交换区域2 GIB可能需要2个MIB内核内存。
        目前,Linux允许32个交换区域(这是Linux2.4.10之前的8个)。使用中的区域可以在文件“/proc/swaps”中看到(自2.1.25以来)。mkswap拒绝10页以下的区域。如果您不知道您的机器使用的页面大小,您可能可以使用“cat /proc/cpuinfo”查找它。
        若要设置交换文件,必须在使用mkswap初始化该文件之前创建该文件,例如使用以下命令:
         # dd if=/dev/zero of=swapfile bs=1024 count=65536
        注意,交换文件不能包含任何漏洞(因此,使用cp(1)创建该文件是不可接受的)

4、实例
1)创建交换分区,指定页大小2048
        [root@localhost ~]#  mkswap -p 2048 /dev/sdb4           //这里指定页大小2048,取代了系统默认的4096
        Using user-specified page size 2048, instead of the system value 4096
        Setting up swapspace version 1, size = 16382 KiB
        no label, UUID=42f07b0e-0adb-47b6-a906-1209efabb981
2)创建交换分区,指定页大小4096,指定label
        [root@localhost ~]#  mkswap -p 4096 -L wj /dev/sdb4    //笔者当前的系统,不能使用2048大小的页
        Setting up swapspace version 1, size = 16380 KiB
        LABEL=wj, UUID=c458a15d-50ee-4e10-a49b-b59add4879d5
3)使用交换分区
        [root@localhost ~]#  swapon /dev/sdb4           //使用指定的分区
        [root@localhost ~]#  swapon –s                   //查看分区使用情况
        Filename Type Size Used Priority
        /dev/dm-1              partition 2940920 0 -1
        /dev/sdb4              partition 16376 0 -2

相关文章
|
3天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
1天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
14 0
|
1天前
|
Linux 开发工具 数据安全/隐私保护
Linux(19)常用解压命令记录
Linux(19)常用解压命令记录
6 0
|
3天前
|
Linux Perl
Linux系统替换字符串常用命令
请注意,`sed`命令可以非常强大,可以根据不同的需求使用不同的选项和正则表达式来进行更复杂的字符串替换操作。
16 0
|
5天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
12 0
|
7天前
|
域名解析 网络协议 Linux
Linux 中的 Nslookup 命令怎么使用?
【4月更文挑战第12天】
25 6
Linux 中的 Nslookup 命令怎么使用?
|
7天前
|
运维 网络协议 Unix
18.系统知识-Linux常用命令
18.系统知识-Linux常用命令
|
8天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
8天前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
63 0
|
11天前
|
缓存 运维 监控
Linux系统监控利器:探索常用命令及数据保存技巧
Linux系统监控利器:探索常用命令及数据保存技巧
29 4
Linux系统监控利器:探索常用命令及数据保存技巧