热爱Coding 2015-01-05 05:26 采纳率: 100%
浏览 1779
已采纳

有几百个进程却只有几G的内存,求解释这几百个进程如何共享内存的?

我感觉每个进程“占的内存”加起来应该大于物理内存,,
怎样的内存管理和调度可以让这几百个进程看起来是一块运行的啊?

  • 写回答

6条回答 默认 最新

  • 蒋晟 2015-01-09 04:48
    关注

    同一个物理页可以映射到不同进程的地址空间,比如如果多个版本的程序都用同一个Visual C++运行时的DLL,那么只读数据是共享的。一个进程的私有内存才是说占就真占的。

    另外,系统会把暂时不用的内存(比如窗口正在被最小化的程序的内存)交换到磁盘上的虚拟内存交换文件,直到下次程序想起来用(比如窗口正在被还原)的时候再交换回来。一个机器上的可用内存应该是对操作系统可见的物理内存(32位的Windows因为地址空间限制一些内存可能用不了)+虚拟内存。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名