1.1.首先用命令free查看系统内 Swap 分区大小。
1. free -m
1. total used free shared buffers cache
2. Mem: 1002 964 38 0 21 410
3. -/+ buffers/cache: 532 470
4. Swap: 951 32 929
可以看到 Swap 只有951M,不符合 Oracle-xe-client 的安装要求。
1.2.创建一个 Swap 文件。
1. mkdir swap (在/目录下创建)
2. cd swap
3. sudo dd if=/dev/zero of=swapfile bs=1024 count=100000
4. 也可以写成下边这种:
5. sudo dd if=/dev/zero of=swapfile bs=1M count=4k
6. count=1k创建1G的swap,如果要创建4G则count=4k
/dev/null,无底洞,可以向它输出任何数据,数据通吃。
/dev/zero,是一个输入设备,可以用它来初始化文件,该设备无穷尽地提供0,可以用于向设备或文件写入字符串0。
出现下列提示,上面命令中的 count 即代表swap文件大小。
记录了 100000+0 的读入
记录了 100000+0 的写出
102400000 字节 (102 MB) 已复制,0.74704 秒,137 MB/秒
1.3.把生成的文件转换成 Swap 文件 ,格式化
1. sudo mkswap swapfile
2. Setting up swapspace version 1, size = 102395 kB
3. no label, UUID=09fde987-5567-498a-a60b-477e302a988b
1.4.激活 Swap 文件。
1. sudo swapon swapfile
错误:原因为我竟然把if=/dev/zero设置为了if=/dev/sda1
swapon: swapfile: swapon failed: Invalid argument
再次查看 free -m 的结果。
1. total used free shared buffers cached
2. Mem: 1002 967 34 0 22 410
3. -/+ buffers/cache: 534 467
4. Swap: 1053 32 1021
添加成功。
如果需要卸载这个 swap 文件,可以进入建立的 swap 文件目录。执行下列命令。
1. sudo swapoff swapfile
如果需要一直保持这个 swap ,可以把它写入 /etc/fstab 文件。
1. /src/swapfile swap swap defaults 0 0