linux 增加交换区
什么是交换区?
外存中开辟一块区域,作为虚拟内存。内存满了时,会把内存长时间不用的移到交换区去,等需要用了再移回来。
交换区,也叫Swap分区,是在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
内存不足?
如果你的服务器的总是报告内存不足,并且时常因为内存不足而引发服务被强制kill的话,在不增加物理内存的情况下,启用swap交换区作为虚拟内存是一个不错的选择
linux指令
查看内存
free -m 能够查看内存使用情况
这里的swap 就是交换区,可见我分配了4g的外存作为交换区
创建并启动swap分区
sudo dd if=… of=… bs=块大小 count=块数
dev/null 与dev/zero区别:
dev/null, 它等价于一个只写文件,所有写入它的内容都会永远丢失,被用作系统“垃圾桶”
dev/zero, 它是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供0,可以使用任何你需要的数目。一般用来初始化盘,和文件。当然,更多用来测硬盘读写速度。
sudo dd if=dev/zero of=/root/swapfile bs=64M count=64
代表swapfile以64m大小的块 分配64个 总共4g大小
sudo mkswap /root/swapfile
建立交换区
sudo swapon /root/swapfile
启动交换区
关闭swap分区
sudo swapoff /root/swapfile