技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> Linux --> 关于虚拟内存的一点理解

关于虚拟内存的一点理解

浏览:2922次  出处信息
    1. 单个程序使用的最大的内存空间的大小收到内存指针的大小的限制,对于32位机,指针是4字节类型,最大标识4G的内存空间,所以32位机单个程序使用的内存空间不可能超过4G,实际上具体多少?我也不知道

    2. 对于windows来讲,虽然好像每个程序都可以使用接近(可能差的比较远点儿)4G的内存空间,但是总的虚拟内存的大小也是有一个限制的,在“我的电脑”=》属性=》高级=》性能(设置)=》高级=》虚拟内存 这里可以设置,这里设置允许使用的磁盘空间的大小,虚拟内存的总大小是我们的物理内存和这里设置的总和。如果总和为5G, 则你的任务管理器里面的内存项最大为5G,当所有程序开辟的内存大于5G时,则开辟内存失败,系统提示“虚拟内存不足”。

    3. 对于linux,好像没有处理指针的限制没有在开辟的时候做其他的限制,没有想windows上所谓的总的虚拟内存的限制,linux上的swap只是限制用于交换的磁盘空间的大小,但是并不用于限制是否开辟的内存超过了物理内存+swap的大小。

    4. 我这里的测试都是使用的malloc函数,就是说,申请的内存实际上并没有真正使用这些内存,大概这就是“记账”的概念吧; 如果你用calloc函数来做这些测试,结果会不一样的,因为calloc是需要初始化内存的,和我想要证明的问题不符,所以不用。

    5. linux的free命令说明的是物理内存和swap的使用情况,至于(某个)程序“想”使用(已经malloc,但是还没有初始化,可能没有这样的程序)的虚拟内存的大小是体现不出来的。

    

建议继续学习:

  1. Linux内存点滴 用户进程内存空间    (阅读:11042)
  2. ps - 按进程消耗内存多少排序    (阅读:11000)
  3. Linux Used内存到底哪里去了?    (阅读:9730)
  4. Linux操作系统的内存使用方法详细解析    (阅读:8714)
  5. linux内核研究笔记(一)内存管理 – page介绍    (阅读:8014)
  6. 几个内存相关面试题(c/c++)    (阅读:7815)
  7. 内存越界的概念和调试方法    (阅读:6138)
  8. 必看!linux系统如何查看内存使用情况    (阅读:6015)
  9. Innodb分表太多或者表分区太多,会导致内存耗尽而宕机    (阅读:6005)
  10. 如何查看Linux 硬件配置信息    (阅读:5707)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1