在我们自己的购买的服务器环境中,一般是买的1g的内存,但是当服务器里面的东西装的比较多的时候就会导致内存不够用了,这个时候可以通过增加虚拟内存来夸大内存容量。
交换(Swapping)技术它的主要特点是:打破了一个程序一旦进入内存,就一直驻留在内存直到运行结束的限制。
在多道程序环境下,内存中可以同时存在多个进程(程序),其中的一部分进程由于等待某些事件而处于阻塞状态,但这些处于阻塞状态的进程仍然驻留内存,并占据着内存空间;另一方面,外存上可能有许多等待装入内存运行的程序,却因内存不足而未能装入。显然,这是一种严重的系统资源浪费,它会使系统的吞吐量下降。为了解决这个问题,可以在操作系统中增加交换(对换)功能,即由操作系统根据需要,将内存中暂时不具备运行条件的部分程序或数据移到外存(换出),以便腾出足够的内存空间,将外存中需要运行的程序或数据调入内存(换入)投入运行。在操作系统中引入交换(对换)技术,可以显著提高内存资源的利用率并改善系统的性能。
以交换的单位不同来划分,则有以下两种交换方式。
我们这里所说的交换是指进程交换,为了实现进程交换,操作系统需要解决以下两个问题。
《操作系统原理》
在我们自己的购买的服务器环境中,一般是买的1g的内存,但是当服务器里面的东西装的比较多的时候就会导致内存不够用了
/usr
目录[root@localhost usr]$ pwd
/usr
[root@localhost usr]$
swap
文件夹,并进入该文件夹[root@localhost usr]# mkdir swap
[root@localhost usr]# cd swap/
[root@localhost swap]# pwd
/usr/swap
[root@localhost swap]#
swapfile
文件,使用命令dd if=/dev/zero of=/usr/swap/swapfile bs=1M count=4096
[root@localhost swap]# dd if=/dev/zero of=/usr/swap/swapfile bs=1M count=4096
记录了4096+0 的读入
记录了4096+0 的写出
4294967296字节(4.3 GB)已复制,15.7479 秒,273 MB/秒
[root@localhost swap]#
du -sh /usr/swap/swapfile
,可以看到我们创建的这个swap文件为4g[root@localhost swap]# du -sh /usr/swap/swapfile
4.1G /usr/swap/swapfile
[root@localhost swap]#
mkswap /usr/swap/swapfile
将swapfile文件设置为swap分区文件[root@localhost swap]# mkswap /usr/swap/swapfile
mkswap: /usr/swap/swapfile: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=5bd241ff-5375-449d-9975-5fdd429df784
[root@localhost swap]#
swapon /usr/swap/swapfile
[root@localhost swap]# swapon /usr/swap/swapfile
[root@localhost swap]#
free -m
来查看现在的内存,可以看到里面的Swap分区变成了4095M,也就是4G内存。[root@localhost swap]# free -m
total used free shared buffers cached
Mem: 980 910 70 3 8 575
-/+ buffers/cache: 326 654
Swap: 4095 0 4095
[root@localhost swap]#
etc/fstab
文件中加入如下命令/usr/swap/swapfile swap swap defaults 0 0
reboot
命令来重启[root@localhost swap]# reboot
Broadcast message from liaocheng@localhost.localdomain
(/dev/pts/1) at 3:56 ...
The system is going down for reboot NOW!
[root@localhost swap]# Connection to 192.168.136.142 closed by remote host.
Connection to 192.168.136.142 closed.
[进程已完成]
[root@localhost swap]# free -m
total used free shared buffers cached
Mem: 980 910 70 3 8 575
-/+ buffers/cache: 326 654
Swap: 4095 0 4095