在使用小内存的服务器的时候,有的时候,会因为内存太小没法完成,比如编译升级gcc的时候,这个时候就需要添加临时的交换分区了。
1、添加交换文件
执行下面的命令,需要注意,要用sudo
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile
这段代码网上很多,我来稍微解释一下吧。
dd命令:
Copy a file, converting and formatting according to the operands.也就是拷贝,转换,格式化一个文件。
if:(input file),输入文件
在类UNIX 操作系统中, /dev/zero 是一个特殊的文件,当你读它的时候,它会提供无限的空字符(NULL, ASCII NUL, 0x00)。
of:(output file),输入文件
在根目录写一个文件:/swapfile
bs: bytes 同时设置读/写缓冲区的字节数
count:blocks 只拷贝输入的blocks块。
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
也就是建立了一个空白的文件。
mkswap /swapfile
也就是使用 /swapfile作为交换文件swapon /swapfile
开启,激活 /swapfile 交换文件
到这里,交换就建立起来了。
你可以使用 free -m来查看内存大小:
[admin@8wZ ~]$ free -m
total used free shared buffers cached
Mem: 994 927 67 0 65 687
-/+ buffers/cache: 174 819
Swap: 1023
2、删除交换文件
sudo swapoff /swapfile #停用交换文件
sudo rm /swapfile #删除文件