Linux系统swap已分区但无法挂载与cryptswap1问题
linux下察看swap分区大小的命令
top
或者fdisk -l
或者free -m
SWAP分区一般大小为物理内存的2倍,但最大不超过2G;
增加SWAP空间的方法有两个:增加另外一个SWAP分区,或通过创建一个SWAP文件来实现。
一)增加一个SWAP分区:
1)创建一个SWAP分区: fdisk -l /dev/cciss/c0d0 (m---p ---n --t (将分区格式转换成 82)--w)(如/dev/cciss/c0d0p6)
2)格式化分区:mkswap -c v1 /dev/cciss/c0d06;
3)修改/etc/fstab文件,增加
/dev/cciss/c0d0p6 swap swap default 0 0
4)激活swap分区:swapon -a /dev/cciss/c0d0p6;
5) 查看swap 分区:swapon -s 或 free 或 cat /proc/swaps
二)增加一个SWAP文件;
1)dd if=/dev/zero of=/tmp/tmp.swap bs=1M count =100;( 建立一个100M的文件);
2)mkswap /tmp/tmp.swap; (标识为SWAP文件)
3)swapon /tmp/tmp.swap;(激活SWAP文件)
4)修改/etc/fstab文件,增加以下内容:
/tmp/tmp.swap swap swap default 0 0
5)swapon -s 或free 或cat /proc/swaps 查看。
三)删除SWAP分区:
1) swapoff /dev/cciss/c0d0p6;
2) 修改/etc/fstab文件
如何创建,增加SWAP?
制作SWAP有两种方法:
1.使用分区做为SWAP
2.使用文件做为SWAP
使用分区做为SWAP比较好,速度比文件的快,也不容易产生磁盘碎片
所有应该尽量使用分区作为SWAP.
先说说使用文件做为SWAP吧:
因为做为SWAP的文件,必须是连续的,所以需要使用dd命令创建它:
[root@NEWLFS ~]#dd if=/dev/zero of=swapfile bs=1024 count=65536
65536+0 records in
65536+0 records out
[root@NEWLFS ~]#
这样就制作了一个64M的swapfile (文件名自定)
如果想制作128M的SWAP,count值:128*1024=131072
制作128M的SWAP 命令就变成了:
dd if=/dev/zero of=swapfile bs=1024 count=131072
会计算了吧 ^_^
使用mkswap命令制作swap:
[root@NEWLFS ~]#mkswap swapfile
Setting up swapspace version 1, size = 67104 kB
[root@NEWLFS ~]#
最后加在/etc/fstab,每次开机都会自动启用SWAP:
编辑fstab,在最后加入一行,格式如下:
/root/swapfile swap swap defaults 0 0
OK,启用它:
[root@NEWLFS ~]#swapon -a
使用swapon -s 查看是否成功启用了:
[root@NEWLFS ~]#swapon -s
Filename Type Size Used Priority
/root/swapfile file 65528 0 -1
OK,swapfile已经投入使用啦 ^_^
要删除交换文件:
在 shell 提示下以根用户身份执行以下命令来禁用交换文件(这里的 /swapfile 是交换文件):swapoff /swapfile
从 /etc/fstab 中删除该项目。删除实际文件:rm /swapfile。 这样,我们就完成了删除Swap space的操作。
很久之前free看到swap为0,一直困惑,明明装系统时有分配交换分区,但为何一直显示为0呢。身为菜鸟一开始也懒得一探究竟,所以问题拖到今天才解决。
早上以为swap为0应该是我没有设置交换分区或者是别的什么原因导致失败,然后就上网查了一下如何增加分区,采用的是文件的形式。linux增加交换分区确实很简单。然后就发现了奇怪的问题,此处不再赘述,详情看下文。
转自:http://www.nsbeta.info/archives/292
刚才free命令看了下,我们一个Linux服务器没有交换分区。blkid输出如下:
/dev/sda1: UUID=”755ef8da-55f2-4fa4-9cf9-2c85452de2c5″ TYPE=”ext4″
/dev/sda6: UUID=”2834448f-5701-496a-a536-c4c77acc9e4c” TYPE=”ext4″
/dev/sda7: UUID=”a4952e03-8792-4dae-b10b-b4a3960ea13c” TYPE=”ext4″
/dev/sdb1: UUID=”4d15da16-f3da-42bd-8277-cf993466d94e” TYPE=”ext4″
/dev/mapper/cryptswap1: UUID=”88733242-6c33-45c1-8464-05c2f8b79b07″ TYPE=”swap”
没有交换分区的设备号,但最后有个/dev/mapper/cryptswap1,不知道是什么东西,没接触过。
fdisk -l输出有一行如下:
/dev/sda5 2433 2918 3903763+ 82 Linux swap / Solaris
说明/dev/sda5已经是创建了swap的。编辑/etc/fstab,加进这行:
/dev/sda5 none swap sw 0 0
运行swapon -a,输出如下:
swapon: /dev/sda5: read swap header failed: Invalid argument
读取swap头部失败,交换分区挂不上。
于是swapoff -a再mkswap /dev/sda5,此时提示设备繁忙,无法创建swap。
看来是/dev/sda5已经在使用中。google前面信息里提到的/dev/mapper/cryptswap1,原来这是一个加密分区,使用了/dev/sda5。用如下命令卸载加密分区:
# cryptsetup luksClose /dev/mapper/cryptswap1
再创建一次swap:
# mkswap /dev/sda5
上述命令创建成功,并给出一个UUID。编辑/etc/fstab文件,将这个UUID加载为交换分区,并运行:
# swapon -a
就成功挂载交换分区了,用free命令和blkid命令可以看到新分区的信息。
同时,/etc/fstab这行:
/dev/mapper/cryptswap1 none swap sw 0 0
以及/etc/crypttab这行:
cryptswap1 /dev/sda5 /dev/urandom swap,cipher=***
要注释掉,以免下次系统重启时有问题。
Linux系统swap已分区但无法挂载与cryptswap1问题的更多相关文章
- Linux系统磁盘与分区管理(7)
Linux最传统的磁盘文件系统(filesystem)使用的是EXT4格式,所以要了解文件系统就得要由认识EXT4开始,而文件系统是创建在硬盘上面的,因此我们得了解硬盘的物理组成才行,下面我们回来详细 ...
- Linux 系统的磁盘分区_【all】
磁盘的存储逻辑结构 1.主引导扇区(446+64+2) MBR(主引导记录)0磁头0磁道的第一扇区 446字节 -->存放系统的引导程序,同Windows 剩下的64字节,分区表(每个分区16字 ...
- 安装Ubuntu Linux系统时硬盘分区最合理的方法
无论是安装Windows还是Linux操作系统,硬盘分区都是整个系统安装过程中最为棘手的环节,网上的一些Ubuntu Linux安装教程一般都是自动分区,给初学者带来很大的不便,下面我就根据多年来在合 ...
- linux系统查看磁盘分区使用空间
Df命令是linux系统以磁盘分区使用空间:df -hl
- 安装Linux系统的磁盘分区
●CentOS磁盘分区 分区顺序: "/"分区(逻辑) -> "/boot"分区(主分区) -> "swap"分区(逻辑) -& ...
- Linux下swap(交换分区)的增删改
swap介绍 Linux 的交换分区(swap),或者叫内存置换空间(swap space),是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者是他们的组合.交换分区的作用是,当系统物理内存吃 ...
- linux增加硬盘 磁盘分区格式化及挂载
nux磁盘分区格式化及挂载 意义: 给linux 系统服务器扩容, 加一块硬盘 实验环境: virtualBox虚拟软件 + centos6.5 第一步: 添加硬件 硬盘 (我这里用virtualB ...
- Linux基础-swap交换分区
任务:对一块15G大小的硬盘进行分区,主分区为5G,扩展分区10G,一个逻辑分区5G作为swap交换分区,并激活查看新的swap分区 第一步,建立的新的SCSI硬盘,开启Linux系统前添加一块大小为 ...
- 安装CentOS、Linux系统时,GPT分区不能引导的解决方法
安装系统:CentOS 5.9_64bit时,分区后, 提示如下错误. 解决方法: 1.按ctrl+alt+F2 进入命令行 2.先查看分区 sh #fdisk -l 以下假设分区是/dev/s ...
随机推荐
- C语言嵌入式系统编程修炼之三:内存操作
数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力.在嵌入式系统的实际调试中,多借助C语言指针所具 ...
- OA请假流程 -- 编码
OA请假流程 -- 编码 凡是内容不会发生变化的,都要写在xml配置文件中.需要定义如下内容: <process>标签 id英文命名 和 name 中文命名,然后只要与该流程相关的资源均以 ...
- 【转】java代码中实现android背景选择的selector-StateListDrawable的应用
原文网址:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0924/1712.html 下面的代码应该很多人都熟悉: 1 2 3 ...
- Spark SQL利器:cacheTable/uncacheTable
Spark相对于Hadoop MapReduce有一个很显著的特性就是“迭代计算”(作为一个MapReduce的忠实粉丝,能这样说,大家都懂了吧),这在我们的业务场景里真的是非常有用. 假设我们有 ...
- Asp.net 字体样式
在页面中使用到字体样式 “微软雅黑“,在静态页面中显示正常,但在asp.net页面中字体无效,此时只需把字体修改为“Microsoft YaHei";
- 导入 from pdfminer.pdfinterp import process_pdf 错误
>>> from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter>>> from ...
- excel小技巧-用于测试用例的编号栏:“获取当前单元格的上一格的值+1”=INDIRECT(ADDRESS(ROW()-1,COLUMN()))+1
编写用例的时候使用,经常修改用例的时候会需要增加.删除.修改条目,如果用下拉更新数值的方式会很麻烦. 1.使用ctrl下拉,增删移动用例的时候,需要每次都去拉,万一列表比较长,会很麻烦 2.使用ROW ...
- NGUI-学习笔记(2)一个项目需求
using UnityEngine; using System.Collections; public class ins1 : MonoBehaviour { //bool isTarget = f ...
- bzoj 2286 [Sdoi2011]消耗战(虚树+树上DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2286 [题意] 给定一棵树,切断一条树边代价为ci,有m个询问,每次问使得1号点与查询 ...
- MacOS下的生活——RescueTime,时间规划利器
前段时间Yxj同学给我推荐了一款可以记录电脑及手机使用时间分类的软件,据说Mac平台下也支持,当时就有了兴趣,但是好像因为什么事给耽搁了,知道今天下午看到Yxj在看这个软件记录的自己的时间表,才觉得这 ...