天天记录 - 使用文件创建内存交换空间swap
2012-10-27 08:33
375 查看
swap是针对物理内存不足的情况下,可以使用硬盘空间扩展内存的功能。
CPU读取的数据都是来自内存,当内存不足时,会把暂时不使用的数据移动swap中,空出内存给需要执行的程序加载。
swap有两种方式,一种是使用物理分区创建swap,本篇描述的是另外一种使用文件创建内存分区。因为我的内存8G通常情况下都没问题,只是偶尔编译些大型玩具才会使用到,使用文件创建的好处是临时使用,使用完我直接释放掉,以后想用在操作一次。
第一步:使用dd命令创建一个6G大文件
1. 创建文件, 最后一个参数是选择大小
使用--help命令查看下dd命令如何使用的,以后就没必要记命令参数
从输出可以看出,命令的参数解释:
if=文件从指定文件中读取
of=文件写入到指定文件
bs=比特数一次读写的比特数
count=块数只将指定个块数复制到块
2. 查看创建文件是否成功
参数含义: 同样使用ll--help查看
-h,--human-readable与-l一起,以易于阅读的格式输出文件大小
(例如1K234M 2G)
第二步 将文件格式化为swap的文件格式
执行之前一定要小心,因为之前创建的打文件如果弄错字节数,可能使文件系统挂掉
第三步 使用swapon将/tmp/swap启动
第四步 使用完后,关闭交换分区文件
我只使用这一次,使用完干脆释放掉硬盘空间
CPU读取的数据都是来自内存,当内存不足时,会把暂时不使用的数据移动swap中,空出内存给需要执行的程序加载。
swap有两种方式,一种是使用物理分区创建swap,本篇描述的是另外一种使用文件创建内存分区。因为我的内存8G通常情况下都没问题,只是偶尔编译些大型玩具才会使用到,使用文件创建的好处是临时使用,使用完我直接释放掉,以后想用在操作一次。
第一步:使用dd命令创建一个6G大文件
1. 创建文件, 最后一个参数是选择大小
$ dd if=/dev/zero of=/tmp/swap bs=1G count=6 记录了6+0 的读入 记录了6+0 的写出 6442450944字节(6.4 GB)已复制,18.1875 秒,354 MB/秒
使用--help命令查看下dd命令如何使用的,以后就没必要记命令参数
$ dd --help 用法:dd [操作数] ... 或:dd 选项 复制文件,依照操作数转换并格式化。 bs=比特数 一次读写的比特数 cbs=比特数 一次转换的比特数 conv=CONVS 依照每个逗号分割的标志列表转换文件 count=块数 只将指定个块数复制到块 ibs=比特数 一次读取的比特数(默认:512) if=文件 从指定文件中读取 iflag=符号 按照以逗号分隔的符号列表指定的方式读取 obs=比特数 一次写入指定比特数(默认:512) of=文件 写入到指定文件 oflag=符号 按照以逗号分隔的符号列表指定的方式写入 seek=块数 在输出开始处跳过指定的块数 skip=块数 在输入开始处跳过指定的块数 status=noxfer 禁止传输统计 块和字节数后可能带有以下的一个或多个后缀: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.
从输出可以看出,命令的参数解释:
if=文件从指定文件中读取
of=文件写入到指定文件
bs=比特数一次读写的比特数
count=块数只将指定个块数复制到块
2. 查看创建文件是否成功
$ll -h /tmp/swap -rw-rw-r--1 test test 6.0G 10月 2708:06 /tmp/swap
参数含义: 同样使用ll--help查看
-h,--human-readable与-l一起,以易于阅读的格式输出文件大小
(例如1K234M 2G)
第二步 将文件格式化为swap的文件格式
执行之前一定要小心,因为之前创建的打文件如果弄错字节数,可能使文件系统挂掉
#mkswap可将磁盘分区或者文件设置为linux交换区 $mkswap /tmp/swap Settingup swapspace version 1, size = 6291452 KiB
第三步 使用swapon将/tmp/swap启动
$free total used free shared buffers cached Mem: 2051688 1146912 904776 0 14620 643072 -/+buffers/cache: 489220 1562468 Swap: 2095100 340 2094760
#这一步需要root权限 $sudo swapon /tmp/swap
$free total used free shared buffers cached Mem: 2051688 1153996 897692 0 14928 644964 -/+buffers/cache: 494104 1557584 Swap: 8386552 340 8386212
$swapon -s Filename Type Size Used Priority /dev/sda5 partition 2095100 340 -1 /tmp/swap file 6291452 0 -2
第四步 使用完后,关闭交换分区文件
我只使用这一次,使用完干脆释放掉硬盘空间
$sudo swapoff /tmp/swap
$free total used free shared buffers cached Mem: 2051688 1132180 919508 0 15488 645360 -/+buffers/cache: 471332 1580356 Swap: 2095100 340 2094760
相关文章推荐
- 在Linux系统上使用交换文件扩展swap空间的方法
- Linux学习-内存交换空间(swap)之创建
- linux命令:swap交换分区、free查看内存使用情况、mkswap创建交换分区
- 如何在Linux上使用文件作为内存交换区(Swap Area)
- Linux使用文件创建swap
- Swap(内存交换空间)
- 内存交换空间的构建(swap)
- 在CentOS中添加Swap交换文件,防止内存不足时MYSQL崩溃
- CentOS 使用文件增加Swap空间
- 内存不够,使用swap空间
- 利用文件来扩展swap交换分区空间
- zabbix管理:zabbix报错之swap空间不足(创建、优化swap交换分区)
- 创建表空间以及用户,授予权限,查看表空间名称及大小,物理文件的名称及大小,数据库的创建日期和归档方式,数据库的版本,数据库库对象,表空间的使用情况,表空间读写
- 查看linux服务器内存使用情况,不够时创建Swap、手动 cached
- 天天记录 - Android内存分析工具DDMS heap + MAT 安装和使用
- varnish服务器在内存大量富余时使用交换空间的原因及解决方法
- 使用文件给swap增加空间
- Ubuntu 中创建SWAP交换分区文件
- 在linux上使用交换文件扩展交换空间
- ★实验 8-1 1. 创建一个守候进程。并为自己创建独立的日志文件。 2. 每隔 1s 向日志文件中写入如下信息: a) 未使用的内存大小(MemFree) 可以从/proc/meminf