Linux交换分区(完全不同于Windows)
1、为什么要了解交换分区
作为测试工程师,如果你对服务器的交换分区不熟悉,那很可能出现服务器性能不够优化。
又或你想优化服务器性能,可以查看服务器swap的大小和应用之间上下文切换快慢或读写频率的多少等灵活设置交换分区大小。在这里我们做一个初步的浅淡。
2、交换分区(swap)
Linux交换分区:当程序需要的内存比电脑上拥有的物理内存还要大的时候,不管是Windows也好,Linux也好,解决办法就是把存不下的东西转移到硬盘上的“虚拟内存”中去,尽管硬盘的速度比内存慢上很多,但是至少容量要大上很多。另外,操作系统也可以把一些很久不活动的程序转移到虚拟内存中去,留出更多的主内存给需要的程序和磁盘缓冲。
Linux在安装的时候,一般需要划出一个分区作为Linux的“交换分区”,作为虚拟内存内容的保存分区。
swapon -s这个命令,可以查看当前系统的虚拟内存的情况,这条命令需要root来运行。
Filename Type Size Used Priority
/dev/sda3 partition 1004052 0 -1
可以看到常常看到当前的交换分区为/dev/sda3,第2栏的Type中显示为partition,说明这是个交换分区,那么,还有其他的Type吗?
当然,其实Linux也可以像Windows一样,用交换文件来保存虚拟内存的内容,这样即使你忘记划出交换分区也不要紧,而且灵活性上会更大一些。
创建交换文件
交换文件和交换分区一样,大小是固定的,比如你想要一个1G的交换文件,那么首先要创建一个1G的空白文件,我们用dd这个工具来完成这个任务:
dd if=/dev/zero of=/swapfile bs=1024count=1048576
1048576就是1G用KB表示的大小,如果你想要其他大小的文件,更改这个数字即可。
上面的命令,会在根目录下创建swapfile这个文件,然后,我们需要将它格式化为交换文件的格式:
mkswap /swapfile
然后把挂载上去,就可以立刻应用这个交换文件了:
swapon /swapfile
你可以运行swapon -s查看一下:
Filename Type Size Used Priority
/dev/sda3 partition 1004052 0 -1
/swapfile file 1048486 0 -2
多出来了一项,Type为file,确实是我们创建的交换文件,系统已经在使用了。
如果你想开机的时候自动挂载这个交换文件,那么还要在/etc/fstab中加上下面这一句:/swapfilenone swap sw 0 0
点击屏幕右上方分享给好友
让阅读分享成为一种习惯
领取专属 10元无门槛券
私享最新 技术干货