为什么64位cpu不存在高内存? [英] Why does high-memory not exist for 64-bit cpu?

查看:148
本文介绍了为什么64位cpu不存在高内存?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

虽然我试图了解32位cpu和Linux的高内存问题,但为什么没有 64位CPU的高内存问题

While I am trying to understand the high memory problem for 32-bit cpu and Linux, why is there no high-memory problem for 64-bit cpu?

特别是,如何将虚拟内存划分为内核空间和用户空间,从而使64位cpu不再需要大内存?

In particular, how is the division of virtual memory into kernel space and user space changed, so that the requirement of high memory doesn't exist for 64-bit cpu?

谢谢。

推荐答案

32位系统只能寻址4GB内存。在Linux中,这分为3GB的用户空间和1GB的内核空间。这1GB有时还不够,因此内核可能需要映射和取消映射内存区域,这会导致相当大的性能损失。内核空间是高 1GB,因此称为高内存问题。

A 32-bit system can only address 4GB of memory. In Linux this is divided into 3GB of user space and 1GB of kernel space. This 1GB is sometimes not enough so the kernel might need to map and unmap areas of memory which incurs a fairly significant performance penalty. The kernel space is the "high" 1GB hence the name "high memory problem".

64位系统可以处理巨大数量内存-16 EB-因此该问题不会发生。

A 64-bit system can address a huge amount of memory - 16 EB -so this issue does not occur there.

这篇关于为什么64位cpu不存在高内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆