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

linux基础命令---mswap的更多相关文章

  1. 第四节,Linux基础命令

    第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令         ...

  2. 【Python之路】第一篇--Linux基础命令

    pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 .   表示当前目录 ..  表示上级目录 /  表示根目录 ls ...

  3. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  4. 2.Linux基础命令

    linux内一切皆文件,没有文件夹只有目录,目录也是一种文件 1.一些常用按键: 将鼠标的光标从虚拟机里切换回来:Ctrl+Alt 拖动Ubuntu内的对话框:Alt键+鼠标左键拖动 清屏:Ctrl+ ...

  5. linux基础命令一

    linux基础命令一 1.date命令 date命令介绍:显示或者设置系统日期 date命令的语法: 显示日期:date  [options...]  [+FORMAT] FORMAT:为显示日期的格 ...

  6. linux基础命令:

    linux基础命令: 显示 echo 输出我写的内容 ls 查看当前目录的文件 pwd 查看当前目录 ifconfig 查看网卡信息 grep 过滤 -v 取反 -n man 查看命令的帮助信息 md ...

  7. 常用的linux基础命令

    常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...

  8. Linux基础命令-文件与目录

    Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...

  9. Linux基础命令回顾

    前言 说到linux基础命令,网上一搜一箩筐,想学也有很多教程,如果你不幸看到此篇文章,想看就认真看完,毕竟你点进来了不是嘛? 我每次写的文章都是为了分享自己的学习成果或重要知识点,希望能帮助更多的人 ...

随机推荐

  1. 服务器群秒级别文件同步(ssh+SHELL)

    1.介绍 \ 2.业务服务器远程更新浏览服务器文件的脚本 #!/bin/bash operate=$ ip=$ conf_file="/var/www/html/test/ip_list&q ...

  2. 关于IP地址子网的划分

  3. Linux 将进程放入后台执行,解决网络,ssh断开导致进程结束(nohup, setsid, &, disown)

    Linux 将进程放入后台执行,解决网络,ssh断开导致进程结束(nohup,  setsid,  &, disown) 1.nohup 命令 我们知道,当用户注销(logout)或者网络断开 ...

  4. 8.26 js

    2018-8-26 20:35:53 这两天周末,一直在看苏东坡传! 明天正常学python 用心学!

  5. NET技术公众号已上线

    各位兄弟姐妹,本人构建技术微信号已正式上线,后续的技术分享主要以微信公众号为主,博客为铺,请各位有兴趣的同学关注. 微信公众号(wx51dotnet):

  6. Django-MySQL数据库使用01

    Django连接数据库的要求:1)Pycharm运行Django平台:2)MySQL数据库.本文的前提是这两个平台读者都已经都正确安装,未安装的朋友请自行百度.说明一下我用的Django是2.1版本, ...

  7. Crontab '2>&1 &' 含义

    Crontab '2>&1 &' 含义 - dosttyy - 博客园 https://www.cnblogs.com/dosttyy/p/4810026.html

  8. ssh各种姿势---ssh-keygen 生成ssh公钥和私钥

    利用ssh-keygen -t rsa可以生成ssh公钥和私钥,实现免输密码的ssh登陆     ssh-keygen -l -f /etc/ssh_host_rsa_key   ssh-keygen ...

  9. JS security

    下文本文将结合代码向读者展示常见这些 JavaScript 安全漏洞,以便读者在实际编码过程中注意到这些安全问题,及早规避这些风险. 基于 DOM 的跨站点脚本编制 我们都听说过 XSS(Cross ...

  10. Databases: MySQL tRIGger--chinese character-set php

    DELIMITER |create TRIGGER tr_calllog_insert after insert on messagescalllog for each row beginIF mes ...