热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS32位&64位最大支持内存

32位的Linux的内存最大支持到4GB,64位的Linux的最大支持内存在TB级别上。(实际上最大支持多大的内容跟操作系统的种类无关,而是跟操作系统是几位的、还有CPU是几位的有关。)DOS是16位的,所以DOS支持的最大内存是64MB(2的16次方字节=64MB)。32位的Linux和Windows支持的最大内存是4GB(2的32次方字节=4GB)。64位的L

32位的Linux的内存最大支持到4GB,64位的Linux的最大支持内存在TB级别上。
(实际上最大支持多大的内容跟操作系统的种类无关,而是跟操作系统是几位的、还有CPU是几位的有关。)
DOS是16位的,所以DOS支持的最大内存是64MB(2的16次方字节=64MB)。
32位的Linux和Windows支持的最大内存是4GB(2的32次方字节=4GB)。
64位的Linux和Windows支持的最大内存=16EB。
 

CentOS 5.2 32位 能识别的最大内存?

RT ,32位系统寻址为4G,但是我想请教一下CentOS release 5.2 (Final)最大能识别多大的内存?

[root@xxx]# uname -a
Linux nfs 2.6.18-92.el5 #1 SMP Tue Jun 10 18:49:47 EDT 2008 i686 i686 i386 GNU/Linux

-----

CPU能够寻址:2^n 字节 (n为CPU地址线数)
一般32位可寻址4G

-----

好像WIN2003也只能支持到4G(没加/PAE选择),并且只显示出3.3 G左右的内存!

-----

有特殊的内核,通过特殊的机制访问多出来的4G,
好像是xxx-PAE 后缀的内核表示支持大内存。

-----

不做任何处理只能识别最大4G,实际上3.2G

安装 PAE 可以识别到 64G的内存

-----

现在的32位机器都36位总线了,启用PAE机制可以识别64GB

-----

如果内核有支持更高内存的模块,那可以识别(现在的系统一般会打开那个功能)

-----

打开 HIGHMEM 选项,可支持到 64GB
这是我的一台双核 * 4 的服务器,32bit

# free
             total       used       free     shared    buffers     cached
Mem:       8205100    8175288      29812          0     111496    7713768
-/+ buffers/cache:     350024    7855076
Swap:      2096376          0    2096376
root@Linux1 ~
 
-----

我的也能支持8G,没编译过内核,也没作什么特别的设置,内核为 2.6.9-42.ELsmp

             total       used       free     shared    buffers     cached
Mem:       8309856    2165168    6144688          0     157848    1442192
-/+ buffers/cache:     565128    7744728
Swap:      2097096          0    2097096


-----

嗯,不开PAE也就识别3.几个G,这是X86体系的缺陷,bios还有主板上的一些寄存器的编址也要占用地址空间的,而且是从4G的高地址开始编址的,所以 可用的地址也就3个多G

-----

实际上是用不了4G的内存的,3.xG以上的一部分被系统保留了(Google上说是被PCI设备占用什么的)...
上述情况在部分机器出现,其它机子偶不清楚

-----

随便搜了一下'kernel PAE'找到文章:

操作系统在32bit x86平台上最大寻址空间只有4GB,如果要使用大于4GB的内存,就必须使用Intel的PAE(物理地址扩展)模式。在Windows NT平台实现PAE只需要对boot.ini加上/pae即可。而对于RHEL5,缺省安装模式下是不允许检测超过4GB内存,所以我们需要在内核安装完毕后再安装kernel-PAE套件。

x86 平台的硬件支持两级页表,Intel Pentium pro以上的型号均支持PAE和三级页表,使得系统最大寻址达到36位,就是64GB的内存。但是系统进程运行时使用的永远是虚拟地址,在32位字长的i386机器上,一个进程永远无法访问超出4G的字节。kernel只能通过拼凑的方式计算出大于4G的内存地址。

在Linux kernel配置项里有High Memmory Support, 如果总内存小于等于1G的选"off",大于4G的选"64G"
Note: Linux can use up to 64 Gigabytes of physical memory on x86 systems. However, the address space of 32-bit x86 processors is only 4 Gigabytes large. Thus means that, if you have a large amount of physical memory, not all of it can be "permanently mapped" by the kernel. The physical memory that's not permanently mapped is called "high memory".

还有一项Allocate 3rd-level pagetables from highmem,使用这一项可以在内存很多(大于4G)的机器上将用户空间的页表放到高位内存区,以节约宝贵的低端内存。

========================================================

请问在32位的SUSE 9下安装Oracle 10G后,Oracle最大所能使用的内存是否为4G?
为服务器配置了16G内存,现在却仅仅用了一点点,郁闷啊

刚才查了查,很多资料称32位操作系统 Oracle只支持2G内存,不知道是否属实??

也尝试在用64位的SUSE 9上安装Oracle,一切很顺利,但是不知道为什么在创建数据库的,总提示pmon进程无法启动
由于系统急,只好改回32位的SUSE 9。。。。。

-----

还是用64位吧,32位OS上的Oracle,除非采用特殊的技术,一般SGA只能达到1.7G

-----

建议使用x86-64 Linux, 如果必须使用32位Linux, 可参考:
Metalink note  260152.1        Summary About the Large SGA & Address Space on RH Linux

我摘录重点部分给你:

Configuration 5

    * RedHat Advanced Server (RHAS) 2.1 (shmfs/tmpfs)
    * RedHat Enterprise Linux (RHEL) 3.0 (shmfs/tmpfs, ramfs)
    * Configuration : VLM mode + in-memory filesystem (shmfs/tmpfs, ramfs)
    * SGA MAX Size 62GB
    * Details in Note 211424.1, Note 262004.1

Since shmfs/tmpfs, ramfs is a memory file system, its size canbe as high as the maximum allowable VM size which is 64GB. SGA MAX Size 62GB theoretic (depending on block size) Only the buffer cache part of the SGA can take advantage of the additional memory. For RHEL3/4 to use the VLM option to create a very large buffercache, you have two options (details in Note 262004.1):

    * Use shmfs/tmpfs much as you would in RHAS2.1:

    mountNote 262004.1):

        * Use shmfs/tmpfs much as you would in RHAS2.1:

        mount a shmfs with a certain size to /dev/shm, and set the correct permissions. Keep in mind that in RHEL3, shmfs allocate memory is pageable. Better to use tmpfs since there is no need to specify size.

        Mount shmfs:

                    # mount -t
    shm shmfs -o size=20g /dev/shm 
                    
                    Edit /etc/fstab:
                    shmfs                /dev/shm        shm        size=20g        0        0
                            
                            ---- OR ----                       

        Mount tmpfs:

                    # mount –t tmpfs tmpfs /dev/shm
                                            
                    Edit /etc/fstab:
                    none                /dev/shm        tmpfs        defaults        0        0
           

        * Use ramfs (Ref. Note 262004.1, Note 259772.1)

        ramfs is similar to shmfs, except that pages are not pageable/swappable. This approach provides the commonly desired effect. Ramfs is created by:

                    # mount -t ramfs ramfs /dev/shm (unmount /dev/shm first).        

        The only difference here is that the ramfs pages are not backed by big pages.

        * When the shmfs/tmpfs,ramfs is available, Oracle server should know whether to use it or not. Need to use the parameter 'use_indirect_data_buffers=true' remains the same;

        If any one of DB_CACHE_SIZE, DB_xK_CACHE_SIZE are set, convert them to DB_BLOCK_BUFFERS

            * How to use the memory file system shmfs in short,for details see Note 211424.1:

                *  Mount the shmfs file system as root using command:

                        # mount -t shm shmfs -o nr_blocks=8388608 /dev/shm

                * Set the shmmax parameter to half of RAM size at most 4294967295

                        # echo 4294967295 >/proc/sys/kernel/shmmax                   

            * Set the init.ora parameter use_indirect_data_buffers=true

            * Startup oracle.

            * How to use the memory file system ramfs in short, for details see Note 262004.1:

                * Mount the shmfs file system as root using command:

                        % umount /dev/shm
                        % mount -t ramfs ramfs /dev/shm
                        % chown oracle:dba /dev/shm

                * Increase the "max locked memory" ulimit (ulimit -l)

                Add the following to /etc/security/limits.conf:

                          oracle           soft    memlock         3145728
                          oracle           hard    memlock         3145728

                (in case of ssh see details on Note 262004.1)

            * Set the init.ora parameter use_indirect_data_buffers=true

            * Startup oracle.


推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • 原理:dismiss再弹出,把dialog设为全局对象。if(dialog!null&&dialog.isShowing()&&!(Activity.)isFinishing()) ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • 在Windows10系统上使用VMware创建CentOS虚拟机的详细步骤教程
    本文详细介绍了在Windows10系统上使用VMware创建CentOS虚拟机的步骤,包括准备条件、安装VMware、下载CentOS ISO文件、创建虚拟机并进行自定义配置、设置虚拟机的ISO与网络、进行安装和配置等。通过本文的指导,读者可以轻松地创建自己的CentOS虚拟机并进行相应的配置和操作。 ... [详细]
author-avatar
霞逸飘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有