Ram*_*esh 6 linux process rhel memory pae
我在64 位系统上安装了32 位 RHEL 操作系统。
从PAE的维基页面:
Linux 内核从 2.3.23 版开始包括完整的 PAE 模式支持,Linus Torvalds 提到 PAE 在 1.3.15 中的 4 MB 页面支持,[18] 允许在 32 位机器上访问高达 64 GB 的内存。
其中一台服务器的当前内核版本是:
2.6.32-431.17.1.el6.i686
Run Code Online (Sandbox Code Playgroud)
内核版本是否意味着如果我在现有的8 GB RAM 上再添加24 GB RAM,整个32 GB 物理内存将变得可用?
目前系统显示有8 GB RAM 可用(我使用free
命令来检查它)。
我仍然对虚拟内存概念感到困惑。
32位系统将如何使用虚拟内存?
我读到32 位RHEL 将使用3 GB的内存块。
这是否意味着,在任何时候,主内存中最多只能有3 GB?
我想,因为我有32 GB 的内存,所以32 GB 的数据可以驻留在主内存中。特别是,我试图从这里了解答案:
每个进程都在自己的地址空间中运行,并且 32 位将每个进程的地址空间限制为大约 3GB。32 位应用程序使用的内存总和完全无关。没有什么可以解决的。
好吧,我不希望得到比这里提供的更简洁的答案。
我对32位操作系统的理解是,地址以32位表示,因此操作系统最多可以使用2^32 = 4GB内存空间
该进程最多可以寻址4GB。您可能会将内存与地址空间混淆。 进程可以拥有比地址空间更多的内存。这是完全合法的,并且在视频处理和其他内存密集型应用程序中很常见。 一个进程可以分配几十GB的内存,并随意将其换入或换出地址空间。一次 只能进入用户地址空间 2 GB。
如果您家里有一个可停放四辆车的车库,您仍然可以拥有五十辆车。你只是不能把它们全部放在你的车库里。你必须在其他地方有辅助存储来存储至少 46 个;您将哪些汽车停在车库中以及将哪些汽车停在街边的停车场中,这一切都取决于您。
这是否意味着任何32位操作系统,无论是Windows还是Unix,如果机器的RAM +硬盘上的页面文件超过4GB,例如8GB RAM和20GB页面文件,永远不会“内存用完”?
绝对不是这个意思。单个进程可能使用比这更多的内存!同样,进程使用的内存量几乎与进程使用的虚拟地址空间量完全无关。就像你车库里的汽车数量与你拥有的汽车数量完全无关一样。
而且,两个进程可以共享非私有内存页。如果二十个进程都加载相同的 DLL,则这些进程都共享该代码的内存页。它们不共享虚拟内存地址空间,而是共享内存。
我的观点是,如果不清楚的话,您应该停止将内存和地址空间视为同一件事,因为它们根本不是同一件事。
如果此 32 位操作系统计算机具有 2GB RAM 和 2GB 页面文件,则增加页面文件大小不会对性能有所帮助。这是真的?
您有 50 辆汽车和一个可容纳 4 辆车的车库,街边还有一个可容纳 100 辆车的停车场。您将停车场的大小增加到 200 个停车位。由于您现在拥有 150 个额外停车位(而不是 50 个额外停车位),您的汽车是否会变得更快?
归档时间: |
|
查看次数: |
8343 次 |
最近记录: |