futurezone 2014-10-10
1.首先用命令free查看系统内 Swap 分区大小。
free -m
total used free shared buffers cached
Mem: 1002 964 38 0 21 410
-/+ buffers/cache: 532 470
Swap: 951 32 929
可以看到 Swap 只有951M,不符合 Oracle-xe-client 的安装要求。
2.创建一个 Swap 文件。
mkdir swap
cd swap
sudo dd if=/dev/zero of=swapfile bs=1024 count=100000
出现下列提示,上面命令中的 count 即代表swap文件大小。
记录了 100000+0 的读入
记录了 100000+0 的写出
102400000 字节 (102 MB) 已复制,0.74704 秒,137 MB/秒
把生成的文件转换成 Swap 文件
sudo mkswap swapfile
Setting up swapspace version 1, size = 102395 kB
no label, UUID=09fde987-5567-498a-a60b-477e302a988b
3.激活 Swap 文件。
sudo swapon swapfile
再次查看 free -m 的结果。
total used free shared buffers cached
Mem: 1002 967 34 0 22 410
-/+ buffers/cache: 534 467
Swap: 1053 32 1021
添加成功。
扩展:
如果需要卸载这个 swap 文件,可以进入建立的 swap 文件目录。执行下列命令。
sudo swapoff swapfile
如果需要一直保持这个 swap ,可以sudo -s换到root
然后把它写入 /etc/fstab 文件。
swapfilepath swap swap defaults 0 0
引用:
由于本人第一次看到这里的时候不是很清楚,所以对于这一段话我再解释下:
首先打开/etc/fstab文件
然后在输入
查看自己添加的swapfile路径,最后添加一行
这里的swapfilepath就是我们刚刚查看的路径,例如我自己就是/home/hugh/swapfile
在Linux里,内存有物理内存和虚拟内存之说,物理内存是什么自然无需解释,虚拟内存实际是物理内存的抽象,多数情况下,出于方便性的考虑,程序访问的都是虚拟内存地址,然后操作系统会把它翻译成物理内存地址。
虚拟内存是不会主动释放,而是再使用的时候从硬盘通过io搬运回内存中,所以在使用虚拟内存时,会发现io使用很大,而硬盘速度快慢能够觉得这个过程的快慢,同样数据库select操作也会与硬盘读取速度有关系。