物理内存,虚拟内存

1. 物理内存:

物理内存指的是插在计算机主板内存槽上的实际物理内存,CPU可以直接进行寻址;

物理内存的容量是固定的,但是寻址空间却取决于cpu地址线条数,如32位机,则寻址空间为2^32=4G,

即最大支持4G的寻址空间,即使我们插入了32G容量的内存条,我们也只能拥有4G的物理内存;

2. 虚拟内存:

进程执行需要将代码和数据放在内存中,但是物理内存是有限的,当进程比较多的时候,容易造成内存耗尽,而虚拟内存有效的解决了这个问题;

进程创建加载的时候,自身感知获得到了一个连续的内存地址空间,而实际上内核只是分配了一个逻辑上的虚拟内存空间,并且对虚拟内存和磁盘通过mmap做映射关系,对虚拟内存和物理内存做映射关系;等到程序真正运行的时候,需要某些数据,并且不在物理内存中,才会触发缺页异常,进行数据拷贝;

虚拟内存空间和磁盘之间的映射使用mmap完成,说白了虚拟内存空间就是磁盘上的一块区域;

时间: 2024-10-11 03:13:46

物理内存,虚拟内存的相关文章

物理内存 虚拟内存

1.物理内存的概念,虚拟内存的概念?物理内存,真实的插在板子上的内存是多大就是多大了.而对CPU来说,物理内存就是CPU的地址线可以直接进行寻址的内存空间大小.比如8086只有20根地址线,那么它的寻址空间就是1MB,我们就说8086能支持1MB的物理内存,及时我们安装了128M的内存条在板子上,我们也只能说8086拥有1MB的物理内存空间.同理我们现在大部分使用的是32位的机子,32位的386以上CPU就可以支持最大4GB的物理内存空间了.2.虚拟内存和物理内存的区别? 正在运行的一个进程,他

redis介绍

redis (remote dictionary server) redis特点: 1)支持内存缓存,相当于memcached: 2)持久化,相当于memcachedb,ttserver: 3)数据类型更丰富: 4)支持集群,分布式: 5)key-value键值类型存储系统: 6)支持数据可靠存储及落地: 7)单进程单线程高性能服务器:(可实现多实例) 一个实例20-30G内存: 8)crash safe & recovery slow: 9)单机qps 可以达到10w 10)适合小数据量高速读

java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射

java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果文件超大的话,更快的方式是采用MappedByteBuffer. MappedByteBuffer是java nio引入的文件内存映射方案,读写性能极高.NIO最主要的就是实现了对异步操作的支持.其中一种通过把一个套接字通道(SocketChannel)注册到一个选择器(Selector)中,不时调用后者的选择(select)方法就能返回满足的选择键(SelectionKey

自学总结redis第一部分(简介、虚拟机配置、安装、配置、连接方式、密码设置)

Redis学习部分 一.NoSql简介 NoSql泛指非关系型数据库. 更多简介请见 "http://baike.baidu.com/link?url=sYV3qpYWs3RDlz1RZbVP18luQwubYrboLUt2qRDhSJrhctvLL1tYBtDFf736ypSocpnmZE5eLvyYzd34k5T2xa" 1.1NoSql数据库的四大分类 键值(key-value)存储数据库:这一类数据库主要会使用一个哈希表,这个表中有一个特定的键和一个指针执行特定的数据.Key/

攻破JAVA NIO技术壁垒

现在使用NIO的场景越来越多,很多网上的技术框架或多或少的使用NIO技术,譬如Tomcat,Jetty.学习和掌握NIO技术已经不是一个JAVA攻城狮的加分技能,而是一个必备技能.再者,现在互联网的面试中上点level的都会涉及一下NIO或者AIO的问题(AIO下次再讲述,本篇主要讲述NIO),掌握好NIO也能帮助你获得一份较好的offer. 驱使博主写这篇文章的关键是网上关于NIO的文章并不是很多,而且案例较少,针对这个特性,本文主要通过实际案例主要讲述NIO的用法,每个案例都经过实际检验.博

生产环境下Redis主备配置(持久化)

1.redis简介 REmote DIctionary Server(Redis)是一个几乎key-value键值对的持久化数据库存储系统.redis和大名鼎鼎的Memcached缓存服务很像,但是redis支持的数据存储类型更丰富,包括string(字符串).list(链表).set(集合)和zset(有序集合)等. 这些数据类型都支持push/pop.add/remove及取交集.并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcac

Linux服务器性能评估与优化(一)

网络内容总结(感谢原创) 1.前言简介 一.影响Linux服务器性能的因素 1. 操作系统级 性能调优是找出系统瓶颈并消除这些瓶颈的过程. 很多系统管理员认为性能调优仅仅是调整一下内核的参数即可解决问题, 事实上情况并不是这样. 性能调优是实现操作系统的各个子系统之间的平衡性,这些子系统包括: ?       CPU ?       内存 ?       磁盘I/O带宽 ?       网络I/O带宽 子系统之间相互依存,任何一个子系统的负载过度都能导致其他子系统出现问题,例如: * 大量的 p

YJX_Driver_033_驱动中的内存管理

1. 驱动中的内存管理 A. 物理内存 B. 虚拟内存 C. Ring0地址和Ring3地址 D. 驱动程序和进程的关系 E. 分页和非分页内存 F. 分配内核内存 [120]了解两个概念:物理内存  虚拟内存 [140]以下概念针对 32位Windows操作系统(32位及以上的CPU)(32位 / 64位 CPU) [210]64位下的这些概念 略有区别 [240] “ A.物理内存:(Physical Memory Address) 目前主流的操作系统还是32位的XP,而32位的系统提供的寻

linux常用系统监控命令

原文:http://blog.sina.com.cn/s/blog_68f1c17001016uvy.html Linux提供了很多用于监控系统的工具,使用这些工具可以找到导致系统性能降低的瓶颈.系统反应慢并不总是由于CPU慢,它也可能是因为磁盘速度太慢.系统中安装的内存较少.网络拥挤或其他反应较慢的系统部件导致. 一.top –进程活动监控 最广泛使用的系统性能监控工具是top,你启动top后,它每隔五秒显示一屏信息,动态实时地显示系统状态. top的输出显示如下: 在最顶行显示了系统名和信息

java获取cpu,内存,磁盘等信息

原文:java获取cpu,内存,磁盘等信息 源代码下载地址:http://www.zuidaima.com/share/1550463331306496.htm package com.zuidaima.util; import java.io.File; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.util.ArrayList; import java.util.List; imp