免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8814 | 回复: 7
打印 上一主题 下一主题

[FreeBSD] FreeBSD 5.4上一个进程不能使用超过2GB的内存? [复制链接]

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
1 [报告]
发表于 2006-03-09 11:11 |显示全部楼层
呵呵,我昨天才看了看书,说得是:
OS分配的虚拟内存最大不能超过 实际可分配的物理内存(也就是除开OS固定占用之外的剩余内存) + swap空间大小。
原文如下:
"The total virtual memory that can be provided by the system is limited to the amount of physical memory available for paging plus the amount of swap space that is provided. "

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
2 [报告]
发表于 2006-03-09 13:36 |显示全部楼层
书上说数据库可能需要。有些应用需要调入很多的数据页面,但是只使用一点点。还讲了如何处理,嘿,英文的,昨天头有点疼,这部分看得一知半解。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
3 [报告]
发表于 2006-03-09 13:50 |显示全部楼层
原帖由 雨丝风片 于 2006-3-9 13:45 发表


是先头疼还是后头疼?


concurrent

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
4 [报告]
发表于 2006-03-12 01:03 |显示全部楼层
原帖由 liangyi571 于 2006-3-11 21:42 发表
FreeBSD 系统环境下,0xc0000000 以上的空间都是留给内核的,因此可用内存空间小于3G,此外估计还要减去代码区和堆栈区的空间,好像是 0x8000000 以上的空间,因此程序数据区可用空间小于 2G,不过也许可以减小代 ...


你说的是访问空间。LZ的问题是虚拟内存的分配。
不管你虚存可访问空间再大,即便是64 bit,数据总只能放在物理内存页和swap里面。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
5 [报告]
发表于 2006-03-13 10:41 |显示全部楼层
你说的是虚拟地址的布局 和分配还是有些许区别地。

5.6. Creation of a New Process
Reserving Kernel Resources

The first resource to be reserved when an address space is duplicated is the required virtual address space. To avoid running out of memory resources(为什么需要限定), the kernel must ensure that it does not promise to provide more virtual memory than it is able to deliver(以可以提供的东西作为限定标准). The total virtual memory that can be provided by the system is limited to the amount of physical memory available for paging plus the amount of swap space that is provided(什么东西是可以提供的). A few pages are held in reserve to stage I/O between the swap area and main memory.

对物理内存限定我可以理解,可是我不是很理解这个地方为什么要对虚拟内存做限定。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
6 [报告]
发表于 2006-03-13 13:27 |显示全部楼层
原帖由 雨丝风片 于 2006-3-13 12:58 发表

嗯,一个是进程可访问的虚拟地址空间的“范围”,一个是进程可访问的虚拟内存的“大小”。这是两个问题。

这里不能说是“对物理内存限定”,而应该说是对虚拟地址空间的访问范围进行限定。至于对进程可访问的 ...


呵呵,大哥没有理解到我的疑虑。
我的意思是说,我不理解为什么文章中用词是"virtual address space"而不是"physical address space"。因为按照文章的观点,和你贴出来的代码,可以看出,实际的需求是转换成的物理内存空间的大小+swap大小。疑问是这里怎么要说成"虚拟地址空间"?

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
7 [报告]
发表于 2006-03-13 13:57 |显示全部楼层
关键是这个词 "reserved" ,呵呵。我给考虑掉了。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
8 [报告]
发表于 2006-03-13 14:10 |显示全部楼层
原帖由 雨丝风片 于 2006-3-13 13:39 发表


我前面已经说过,这里应该没有“物理地址空间”的概念,一切都是虚拟的。

举个例子,你去食堂买馒头,一块钱一个。你的钱包可以装一百张一块钱的钞票,所以理论上你可以买一百个馒头,一张钞票“映射”到 ...


清楚多了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP