大家好,我是良旭。熟悉电脑的朋友都知道,我们常说的主机的三大部件就是主板、CPU、内存。由此可见,内存在电脑主机中的作用也是非同一般。喜欢DIY主机的朋友对这三大部件都有了解。更是精致。写过程序的人都熟悉程序的执行过程。先从硬盘加载到内存,然后在CPU和内存之间交换和处理数据,完成相应的操作(实际执行细节相当复杂),从而实现相应的功能。.然而,内存的容量是非常有限的。由于内存的成本较高(目前常用的内存是双速SDRAM),所以对于电脑用户来说,升级内存容量是一笔不小的开支。那么良旭就和大家探讨一下,如果电脑内存不够用,虚拟内存技术的应用,虚拟内存的出现,可以部分解决机器内存不足的问题。需要注意的是,有的资料也称虚拟内存为交换内存。1.讨论虚拟内存之前先热身一下。我们需要知道的是,计算机将内存分为物理内存和虚拟内存(注意虚拟内存和虚拟地址空间的区别)。物理内存是计算机中的实际内存量,由RAM芯片组成。虚拟内存是虚拟化的,使用磁盘而不是内存。2、虚拟内存的工作原理如上所述,当系统的物理内存不够用时,需要释放一部分物理内存,以供当前运行的程序使用。释放出来的空间可能来自于一些很久没有运行的程序。这些释放出来的空间暂时保存在交换空间中,当那些程序即将运行时,将保存的数据从交换空间恢复到内存中。3、Linux虚拟内存的实现Linux系统中虚拟内存的实现有两种方式,一种是交换分区(swappartition),一种是交换文件。 Swap分区Swap分区其实就是新建一个分区,然后将这个分区挂载为交换空间,方法步骤和传统的新建分区一样。只不过mkswap和swapon命令分别用于格式化分区和挂载分区。交换文件硬盘上没有足够的空间来创建交换分区,所以我们手动创建一个交换文件来交换RAM中的非活动内容。4、理想的交换权重Linux允许我们设置交换的权重,也就是说我们可以设置交换过程的频率。小伙伴们可以根据需要在0到100之间设置兑换权重。较小的值意味着内核将尽可能少地使用交换空间,较大的值会使内核使用更多的交换空间。swapweight的默认和建议值是60,有兴趣的小伙伴可以详细了解一下Linux内核参数swappiness,这里就不过多描述了。5、使用虚拟内存的好处可以很方便地保存那些几乎不用但被占用的RAM块。然后可以使用释放的RAM来容纳更多更高优先级的程序。防止RAM空间耗尽而无法执行其他程序的情况。虚拟内存作为RAM的备份,增加了RAM的实际大小。在休眠期间,RAM的所有内容都写入交换空间。因此,为了成功休眠,需要虚拟内存。它提高了系统的整体性能。(在内核参数swappiness设置合理的情况下)6.结论在本文中,我们了解了交换内存及其诸多好处。不足而崩溃。事实上,Swap的调整对于Linux服务器,尤其是Web服务器的性能来说是至关重要的。通过调整Swap,有时可以克服系统性能瓶颈,节省系统升级成本。最后,最近有很多朋友找我要一份Linux学习路线图,所以我结合自己的经验,利用业余时间熬夜一个月,整理了一本电子书。无论你是面试还是自我提升,相信都会对你有所帮助!免费送给大家,只求大家给我点个赞!电子书|LinuxDevelopmentLearningRoadmap也希望有小伙伴可以加入我的行列,把这本电子书做得更加完美!获得?希望老铁们来个三连击,让更多人看到这篇文章。推荐阅读:干货|程序员和高级架构师免费发送工件的必备资源|支持搜索的资源网站
