linux内存和windows内存的区别:1、linux优先使用物理内存,内存不够时才放在交换分区上,而windows则是内存和虚拟内存一起使用;2、windows总会给内存留下一定的空闲空间,启动新的程序比较快,而linux内存常处于全部被使用的状态,需要先清理出一块内存再分配给新的程序,启动新程序比较慢。
本教程操作环境:windows10&&linux7.3系统、Dell G3电脑。
linux和windows的内存有什么区别
Linux 优先使用物理内存,当物理内存还有空闲时,linux是不会释放内存的,即时占用内存的程序已经被关闭了(这部分内存就用来做缓存了)。也就是说,即时你 有很大的内存,用过一段时间后,也会被占满。这样做的好处是,启动那些刚开启过的程序、或是读取刚存取过得数据会比较快,对于服务器很有好处。
区别
windows则总是给内存留下一定的空闲空间,即时内存有空闲也会让程序使用一些虚拟内存,这样做的好处是,启动新的程序比较快,直接分给它些空闲 内存就可以了,
而linux下呢?由于内存经常处于全部被使用的状态,则要先清理出一块内存,再分配给新的程序使用,因此,新程序的启动会慢一些。
linux内核基本是先把数据都放在内存上的,内存不够才放到交换分区(虚拟内存)上,细节是,只有频繁使用的数据才会放到内存上,不频繁操作的数据会渐渐放到交换分区上,适当时写回硬盘里。
而windows的处理方式是?内存和虚拟内存一起使用,不是以内存操作为主,这样的结果是IO的负担比较大,有时会拖慢处理速度。linux的哲学是,尽可能使用内存,因为内存的速度比硬盘速度快100多倍。
扩展知识
Linux把物理内存划分为三个层次来管理
系统的物理内存被划分成几个节点(node),一个node对应一个内存簇bank,即每个内存簇被认为是一个节点。(可以使用NODE_DATA(node_id)来查找系统中编号为node_id的节点)
内存被划分成节点,每个节点关联到系统的一个处理器,内核中用pg_data_t来实例,系统中每个节点被链接到一个以NULL为结尾的pgdat_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_HIGHMEM(0xF8000000~0xFFFFFFFF),高端内存,是系统中预留的可用内存空间,不能被内核直接映射。(为了兼容热插拔以及内存碎片化的处理,内核引入一些逻辑上的内存区:
1、内核定义一个伪内存区ZONE_MOVEABLE,在防止物理内存碎片的机制mmeory mirgation中需要使用该内存区域以供内存碎片的极致使用
2、ZONE_DEVICE:为支持热插拔设备而分配的Non Volatile Memory,非易失性内存)。
页帧(page frame):代表内存的最小单元,堆内存中每个页都会创建一个struct page的实例。传统上,把内存视为连续的字节,即内存为字节数组,内存单元的编号(地址)可作为字节数组的索引。分页管理时,将若干字节试为一页,比如4K byte,此时内存变成连续页,即内存为页数组,每一页物理内存为页帧,以页为单位对内存进行编号,该编号可作为页数组的索引,称为页帧号。 (页的数据结构对象都保存在mem_map全局数组中,该数组通常被存放在ZONE_NORMAL的首部,或者就在小内存系统中装入内核映像而预留的区域之后,在载入内核的低地址至内存区域的后面内存区域,也就是ZONE_NORMAL开始的地方的内存的页的数据结构的对象,都保存在这个全局数组中)。
分页单元可以实现把线性地址转换成物理地址,线性地址被划分成固定长度大小的组,称为页,页内部的线性地址被映射到连续的物理地址。这样内核可以指定一个页的物理地址和其存储权限,而不用指定页的全部线性地址的存储权限。
分页单元把所有RAM分成固定长度的页帧(也叫页框,page frame),每一个页帧包含一个页,也就是说页帧和页的长度是一样的。页框属于内存的一部分,因此也是一个存储区域。 ----mm_types.h struct page结构体中的mapping,不只保存一个指针,还保存一些额外的信息,用于判断页是否属于未关联地址空间的某个匿名内存区。 通过mapping恢复anon_vma的方法:anon_vma=(struct anon_vma *)(mapping-PAGE_MAPPING_ANON)。
推荐学习:Linux视频教程
以上是linux和windows的内存有什么区别的详细内容。更多信息请关注PHP中文网其他相关文章!

掌握Linux操作的原因是其广泛的应用场景和强大的功能。1)Linux适合开发者、系统管理员和技术爱好者,应用于服务器管理、嵌入式系统和容器化技术。2)学习Linux可以从文件系统结构、Shell使用、用户权限管理和进程管理入手。3)Linux命令行是其核心工具,通过Shell执行命令,如ls、mkdir、cd等,支持重定向和管道操作。4)高级用法包括编写自动化脚本,如备份脚本,使用tar命令和条件判断。5)常见错误包括权限、路径和语法问题,可通过echo、set-x和$?调试。6)性能优化建议

Linux系统的五大支柱是:1.内核,2.系统库,3.Shell,4.文件系统,5.系统工具。内核管理硬件资源并提供基本服务;系统库为应用程序提供预编译函数;Shell是用户与系统交互的接口;文件系统组织和存储数据;系统工具用于系统管理和维护。

在Linux系统中,可以通过在启动时按特定键或使用命令如“sudosystemctlrescue”进入维护模式。维护模式允许管理员在不受干扰的情况下进行系统维护和故障排除,如修复文件系统、重置密码、修补安全漏洞等。

Linux初学者应掌握文件管理、用户管理和网络配置等基本操作。1)文件管理:使用mkdir、touch、ls、rm、mv、cp命令。2)用户管理:使用useradd、passwd、userdel、usermod命令。3)网络配置:使用ifconfig、echo、ufw命令。这些操作是Linux系统管理的基础,熟练掌握它们可以有效管理系统。

本文解释了如何管理Linux中的Sudo特权,包括授予,撤销和安全性最佳实践。关键重点是安全和sudoers安全和限制访问。Character数量:159

本文提供了有关使用Google Authenticator在Linux上设置两因素身份验证(2FA)的指南,详细介绍了安装,配置和故障排除步骤。它突出了2FA的安全益处,例如增强的SEC

本文讨论了使用TOP,HTOP和VMSTAT监视Linux系统性能,并详细介绍其独特功能和自定义选项,以进行有效的系统管理。

文章讨论了使用APT,YUM和DNF在Linux中管理软件包,涵盖安装,更新和删除。它比较了它们对不同分布的功能和适用性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Atom编辑器mac版下载
最流行的的开源编辑器