当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]编译32位内核支持大内存的问题
帖子发表于 : 2008-07-04 19:41 

注册: 2008-05-03 13:57
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
通过编译内核,32位的ubuntu8.04 desktop版已可以支持到64G内存,解决了系统默认小于4G的问题。
不过这样做是否有什么负面影响(对硬件、对系统运行速度)?否则官方内核为什么不直接默认支持64G内存?
不得其解,请高手指教!


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-07-04 19:45 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
32位怎么支持的超过4G内存哦? :lol:


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-07-04 19:49 
头像

注册: 2007-09-06 11:41
帖子: 796
地址: Bergen
送出感谢: 0 次
接收感谢: 0 次
打开pae寻址,变成36位?感觉不如直接用64位来得又好又简单。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-07-04 19:56 

注册: 2008-05-03 13:57
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
HuntXu 写道:
32位怎么支持的超过4G内存哦? :lol:

这个是可以的,重新编译内核,打开PAE就是了。


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-07-04 19:57 

注册: 2008-05-03 13:57
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
sfbi 写道:
打开pae寻址,变成36位?感觉不如直接用64位来得又好又简单。

64位的系统默认支持大内存,但我要用的软件在64位系统里无法安装,所以只能出此下策了。


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-07-04 19:58 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
xingzhi 写道:
HuntXu 写道:
32位怎么支持的超过4G内存哦? :lol:

这个是可以的,重新编译内核,打开PAE就是了。


那确实不如直接来64位的... :lol:

不会有影响的~而且实际效果提高应该不会很大,不过是内核支持多了而已...但是软件方面的呢?


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
7 楼 
 文章标题 : Re: [问题]编译32位内核支持大内存的问题
帖子发表于 : 2008-07-04 20:03 

注册: 2006-09-11 22:47
帖子: 2841
送出感谢: 0 次
接收感谢: 4
xingzhi 写道:
通过编译内核,32位的ubuntu8.04 desktop版已可以支持到64G内存,解决了系统默认小于4G的问题。
不过这样做是否有什么负面影响(对硬件、对系统运行速度)?否则官方内核为什么不直接默认支持64G内存?
不得其解,请高手指教!


这种方式是用映射来实现大于4G的访问。对运行速度有一定影响。——但是其实只要你的CPU够强,这个影响应该是几乎可以忽略的。

注:32位x86和64位x86的最主要区别,其实不在于内存,而在于寄存器:

32位x86指令有8个32位通用寄存器,8个SSE寄存器
64位x86指令有16个64位通用寄存器,16个SSE寄存器。

可以看到,64位x86指令可以使用的通用寄存器存储量为128字节,32位x86指令可以使用的通用寄存器容量只有32字节。寄存器容量方面的巨大差异决定了64位x86指令能够编译出更加有效率的代码。——这是CPU架构决定的,其实与他们究竟64还是32位无关。

所以,如果在64位x86 CPU上使用32位x86代码,就意味着你的CPU通用寄存器容量只有四分之一在起作用。SSE寄存器只有一半在起作用。

当然,这种差异只在x86体系中存在,其他体系的CPU,64位跟32位恐怕没有什么区别,仅仅只是内存访问空间不同而已。


最后由 poet 编辑于 2008-07-04 20:04,总共编辑了 1 次

页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-07-04 20:03 

注册: 2008-05-03 13:57
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
HuntXu 写道:
那确实不如直接来64位的... :lol:

不会有影响的~而且实际效果提高应该不会很大,不过是内核支持多了而已...但是软件方面的呢?


没有仔细体验比较过,所以很想知道。 :)


页首
 用户资料  
 
9 楼 
 文章标题 : Re: [问题]编译32位内核支持大内存的问题
帖子发表于 : 2008-07-04 20:06 

注册: 2008-05-03 13:57
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
poet 写道:
xingzhi 写道:
通过编译内核,32位的ubuntu8.04 desktop版已可以支持到64G内存,解决了系统默认小于4G的问题。
不过这样做是否有什么负面影响(对硬件、对系统运行速度)?否则官方内核为什么不直接默认支持64G内存?
不得其解,请高手指教!


这种方式是用映射来实现大于4G的访问。对运行速度有一定影响。——但是其实只要你的CPU够强,这个影响应该是几乎可以忽略的。

注:32位x86和64位x86的最主要区别,其实不在于内存,而在于寄存器:

32位x86指令有8个32位通用寄存器,8个SSE寄存器
64位x86指令有16个64位通用寄存器,16个SSE寄存器。

可以看到,64位x86指令可以使用的通用寄存器存储量为128字节,32位x86指令可以使用的通用寄存器容量只有32字节。寄存器容量方面的巨大差异决定了64位x86指令能够编译出更加有效率的代码。——这是CPU架构决定的,其实与他们究竟64还是32位无关。

所以,如果在64位x86 CPU上使用32位x86代码,就意味着你的CPU通用寄存器容量只有四分之一在起作用。SSE寄存器只有一半在起作用。

当然,这种差异只在x86体系中存在,其他体系的CPU,64位跟32位恐怕没有什么区别,仅仅只是内存访问空间不同而已。

嗯,明白了。
非常感谢!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译