天天记录 - 使用文件创建内存交换空间swap



    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





















  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值