开发者社区> 问答> 正文

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

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

展开
收起
小旋风柴进 2016-06-03 08:55:25 1992 0
1 条回答
写回答
取消 提交回答
  • 同一个物理页可以映射到不同进程的地址空间,比如如果多个版本的程序都用同一个Visual C++运行时的DLL,那么只读数据是共享的。一个进程的私有内存才是说占就真占的。

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

    2019-07-17 19:25:49
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
内存取证与IaaS云平台恶意行 为的安全监控 立即下载
服务上云加速大家居产业C2M进程 立即下载
云服务器ECS内存增强型实例re6全新发布 立即下载

相关实验场景

更多