VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云最新优惠促销活动
jtti最新优惠促销活动

linux和windows内存有什么区别?

locvps
主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

linux和windows内存有什么区别?

本教程运行环境:Windows 10 &;& ampLinux7.3系统,戴尔G3电脑。

linux和windows的内存有什么区别?linux优先考虑物理内存。当物理内存仍然空闲时,Linux不会释放内存,立即占用内存的程序已经关闭(这部分内存用于缓存)。换句话说,即使你有很多内存,过一段时间也会满的。这样做的好处是,启动那些刚启动的程序或者读取刚访问过的数据会更快,这对服务器非常有利。

区分

Windows总是为内存留出一定的空闲空间。即使内存是空闲的,程序也会使用一些虚拟内存。这样做的好处是启动新程序比较快,给它一些空闲内存就行了。

而linux下呢?因为内存总是处于被完全使用的状态,所以需要先清理出一块内存再分配给新程序使用,所以新程序启动会比较慢。

linux内核基本上是先把所有数据放在内存里,内存不够的时候再放在交换分区(虚拟内存)里。细节是,只有经常使用的数据才会放入内存,不经常操作的数据会逐渐放入交换分区,并在适当的时候写回硬盘。

而windows又是如何处理的呢?内存和虚拟内存是一起用的,不是主要基于内存操作。导致IO的负担比较大,有时候会拖慢处理速度。linux的哲学就是尽可能的使用内存,因为内存的速度比硬盘快100多倍。

扩展知识

Linux将物理内存分为三个级别来管理。

16.png

系统的物理内存分为若干个节点,一个节点对应一个内存簇库,即每个内存簇视为一个节点。(可以使用NODE_DATA(node_id)在系统中查找编号为node_id的节点。)

内存分为节点,每个节点与系统的一个处理器关联,内核以PG _ data _ T为例,系统中的每个节点都链接到一个以NULL结尾的pg_data_t List的链表,每个节点都通过使用pg_data_tnode_next字段链接到下一个节点。对于UMA结构,只使用contig_page_data的静态pg_data结构,NODE_DATA直接指向全局contig_page_data。

节点被划分为内存管理区域。一个内存管理区域用struct zone_struct来描述,zone_t用来表示一定范围的内存。低端范围的16MB描述为ZONE_DMA,然后是可以直接映射到内核的普通内存域ZONE_NORMAL,最后是超出内核段的物理地址域ZONE _ high mem(0x f 8000000 ~ 0x ffffffff)。高端内存是系统中预留的可用内存空间。(为了兼容热插拔和内存碎片,内核引入了一些逻辑内存区域:

1.内核定义了一个伪内存区域ZONE_MOVEABLE,它需要在内存镜像中使用,内存镜像是一种防止物理内存碎片的机制,用于内存碎片的最终使用。

2.ZONE_DEVICE:为支持热插拔设备而分配的非易失性内存。

页框:代表最小的内存单元,堆内存中的每一页都会创建一个struct page的实例。传统上将内存视为一个连续的字节,即内存是一个字节数组,内存单元的编号(地址)可以作为字节数组的索引。在分页管理中,尝试几个字节为一页,比如4K字节,内存就变成了一个连续的页,即内存是一个页数组,每页的物理内存是一个页框。内存以页为单位编号,可以作为页数组的索引,称为页框号。(页面的数据结构对象都存放在mem_map的全局数组中,通常存放在ZONE_NORMAL的头部,或者从内核低位地址加载到内存区后面的内存区,也就是ZONE_NORMAL开始的地方的页面的数据结构对象都存放在这个全局数组中。).

分页单元可以将线性地址转换成物理地址。线性地址被分成固定长度和大小的组,称为页面,页面内部的线性地址被映射到连续的物理地址。这样,内核可以指定页面的物理地址及其存储权限,而无需指定页面所有线性地址的存储权限。

分页单元将所有的RAM分成定长的页框(也叫页框),每个页框包含一页,也就是说页框和页的长度是一样的。页框是内存的一部分,所以也是存储区。-mm _ types。struct页结构中的h映射不仅保存了一个指针,还保存了一些额外的信息来判断该页是否属于一个不相关的地址空间中的匿名内存区域。通过映射恢复anon_vma的方法:anon _ VMA =(struct anon _ VMA *)(mapping-page _ mapping _ anon)。

推荐学习:Linux视频教程

以上是linux和windows的内存区别的细节。更多信息请关注主机参考其他相关文章!

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:linux和windows内存有什么区别? https://zhujicankao.com/91134.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » linux和windows内存有什么区别?
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!