abcc 发表于 2016-12-26 21:38:31

关于虚拟内存如何被利用的疑问

本帖最后由 abcc 于 2016-12-26 22:46 编辑

根据王爽老师《汇编语言(第3版)》中1.4节所讲,磁盘不同于内存,磁盘上的数据或程序如果不读到内存中,就无法被CPU 使用。
但根据一些有经验的高手说,装Linux系统时,如果物理内存不超过4/8/16G,则swap分区(也就是虚拟内存)分为物理内存的2倍,如果大于4/8/16G,则swap分区分应与物理内存相同。
对此产生了疑问,虚拟内存到底是如何利用的呢,是操作系统将内存中暂时不用数据的写入磁盘,如果是这样,物理内存不超过4/8/16G时似乎没必要把swap分区分为2倍,难道写入到磁盘的内存数据没有自动机制对虚拟内存进行清理,但物理内存大于4/8/16G时,又为什么不把swap分区分为物理内存的2倍呢;还是操作系统可以直接把磁盘当内存使用呢,如果是这样,那岂不是与王爽老师书中所说的冲突。我认为应该是前者,不过对前者并非完全明白,各位怎么看?

人造人 发表于 2016-12-26 22:45:49

是操作系统将内存中暂时不用数据的写入磁盘,如果是这样,物理内存不超过4/8/16G时似乎没必要把swap分区分为2倍

的确没有必要,如果你是4G内存,swap分区分8G太不值得了
顶多swap也4个G,其实2个G也够用了,反而是二分之一了^_^
页: [1]
查看完整版本: 关于虚拟内存如何被利用的疑问