ECJiaWiki:运维工作台设置虚拟内存

来自ECJiaWiki
跳转至: 导航搜索

运维工作台设置虚拟内存

介绍

什么是虚拟内存

虚拟内存是硬盘中划出来的一段虚拟内存空间,用于扩展操作系统的物理内存。当系统的物理内存不够用的时候,操作系统把内存中最不常用的数据“交换”到虚拟内存,从而将物理内存中的一部分空间释放出来供其他程序使用。当程序需要用到虚拟内存内的数据的时候,操作系统再将数据从交换分区恢复到物理内存中。

Linux实现虚拟内存的方式有交换分区(swap分区)和交换文件。

为什么要设置虚拟内存

  问题1:进程地址空间不隔离。由于程序都是直接访问物理内存,所以恶意程序可以随意修改别的进程的内存数据,以达到破坏的目的。有些非恶意的,但是有bug的程序也可能不小心修改了其它程序的内存数据,就会导致其它程序的运行出现异常。这种情况对用户来说是无法容忍的,因为用户希望使用计算机的时候,其中一个任务失败了,至少不能影响其它的任务。

  问题2:内存使用效率低。在A和B都运行的情况下,如果用户又运行了程序C,而程序C需要20M大小的内存才能运行,而此时系统只剩下8M的空间可供使用,所以此时系统必须在已运行的程序中选择一个将该程序的数据暂时拷贝到硬盘上,释放出部分空间来供程序C使用,然后再将程序C的数据全部装入内存中运行。可以想象得到,在这个过程中,有大量的数据在装入装出,导致效率十分低下。

  问题3:程序运行的地址不确定。当内存中的剩余空间可以满足程序C的要求后,操作系统会在剩余空间中随机分配一段连续的20M大小的空间给程序C使用,因为是随机分配的,所以程序运行的地址是不确定的。

   为了解决上述问题,人们想到了一种变通的方法,就是增加一个中间层,利用一种间接的地址访问方法访问物理内存。按照这种方法,程序中访问的内存地址不再是实际的物理内存地址,而是一个虚拟地址,然后由操作系统将这个虚拟地址映射到适当的物理内存地址上。这样,只要操作系统处理好虚拟地址到物理内存地址的映射,就可以保证不同的程序最终访问的内存地址位于不同的区域,彼此没有重叠,就可以达到内存地址空间隔离的效果。

运维工作台添加虚拟内存

浏览器访问运维工作台

http://deploy.ecjia.com

关于如何开启memcache扩展和ECJia到家Memcached配置1.png

登陆服务器

输入服务器账号密码,登陆即可,登陆成功会返回首页。

关于如何开启memcache扩展和ECJia到家Memcached配置2.png

添加虚拟内存,移动到执行服务,在服务器优化列选择 添加虚拟内存

运维工作台添加虚拟内存1.png

稍等片刻后,看到:

运维工作台添加虚拟内存2.png

即添加完成。

运维工作台删除虚拟内存

移动到执行服务,选择 删除虚拟内存

运维工作台添加虚拟内存3.png]

稍等片刻后,看到:

运维工作台添加虚拟内存4.png

即删除虚拟内存完毕。