CentOS32-bit & 64-bit maximum memory

Source: Internet
Author: User
Tags windows support intel pentium
32-bit Linux supports up to 4 GB of memory, and 64-bit Linux supports up to TB level. (In fact, the maximum supported content is not related to the type of the operating system, but to the number of operating systems and the number of CPUs .) DOS is 16 bits, so the maximum memory supported by DOS is 64 MB (the 16-power byte of 2 = 64 MB ). 32-bit Linux and Windows support a maximum of 4 GB memory (2 to the power of 32 bytes = 4 GB ). 64-bit L

32-bit Linux supports up to 4 GB of memory, and 64-bit Linux supports up to TB level.
(In fact, the maximum supported content is not related to the type of the operating system, but to the number of operating systems and the number of CPUs .)
DOS is 16 bits, so the maximum memory supported by DOS is 64 MB (the 16-power byte of 2 = 64 MB ).
32-bit Linux and Windows support a maximum of 4 GB memory (2 to the power of 32 bytes = 4 GB ).
The maximum memory size supported by 64-bit Linux and Windows is 16 EB.
 

Can CentOS 5.2 32-bit recognize the maximum memory?

RT, 32-bit system addressing is 4 GB, but I would like to ask how much memory can be recognized by CentOS release 5.2 (Final?

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

-----

CPU addressable: 2 ^ n bytes (n indicates the number of CPU address lines)
Generally, 32-bit addressable 4G

-----

It seems that WIN2003 only supports 4 GB memory (no/PAE options) and only displays about 3.3 GB memory!

-----

There is a special kernel, and the extra 4 GB is accessed through a special mechanism,
The kernel with the suffix xxx-PAE indicates that large memory is supported.

-----

No processing is required. only a maximum of 4 GB can be identified. In fact, 3.2 GB can be identified.

Install PAE to identify 64 GB memory

-----

Now all 32-bit machines have 36-bit bus, and the PAE mechanism can be enabled to recognize 64 GB

-----

If the kernel has a module that supports higher memory, you can identify it (which function is usually enabled in the current system)

-----

Enable the HIGHMEM option to support up to 64 GB
This is my dual-core * 4 server, 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 ~
 
-----

I can also support 8 GB, no kernel compiled, no special settings, kernel 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


-----

Well, if PAE is not enabled, it will recognize 3. several G, which is a defect of the X86 system. the bios and some register addresses on the motherboard also occupy the address space, and are compiled from the 4G high address, therefore, the available address is also 3 GB

-----

In fact, 4G memory is not used. 3. a portion of the xG above is retained by the system (Google said it is occupied by PCI devices )...
The above situation occurs on some machines. other machines are unknown.

-----

Search for 'Kernel pae' and find the article:

The maximum addressing space of the operating system on the 32bit x86 platform is only 4 GB. to use memory larger than 4 GB, you must use Intel's PAE (Physical Address Extension) mode. To implement PAE on Windows NT platform, you only need to add/pae to boot. ini. For RHEL5, the default installation mode does not allow the detection to exceed 4 GB memory. Therefore, we need to install the kernel-PAE package after the kernel is installed.

The hardware on the x86 platform supports two-level page tables. models above the Intel Pentium pro support PAE and three-level page tables, so that the maximum addressing capacity of the system is 36 bits, that is, 64 GB of memory. However, when a system process is running, it uses a virtual address. on a 32-bit i386 machine, a process can never access a byte larger than 4 GB. The kernel can only calculate memory addresses larger than 4 GB by means of patchwork.

In the Linux kernel configuration item, there is High Memmory Support. if the total memory is less than or equal to 1 GB, select "off". if the total memory is greater than 4 GB, select "64 GB"
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 ".

There is also an Allocate 3rd-level pagetables from highmem, which can be used to put the page tables of user space in the high memory area on a machine with a lot of memory (greater than 4 GB) to save valuable low-end memory.

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

Is the maximum memory used by Oracle 4 GB after Oracle 10 GB is installed in 32-bit SUSE 9?
I configured 16 GB of memory for the server, but now I only use a little bit. it's depressing.

According to a lot of information, the 32-bit operating system Oracle only supports 2 GB of memory. Is it true ??

I also tried to install Oracle on 64-bit SUSE 9. everything went fine, but I don't know why the pmon process cannot be started.
As the system was in a hurry, I had to switch back to the 32-bit SUSE 9 .....

-----

Use 64-bit Oracle on 32-bit OS, unless special technology is used, generally SGA can only reach 1.7 GB

-----

X86-64 Linux is recommended, if you must use 32-bit Linux, refer:
Metalink note 260152.1 Summary About the Large SGA & Address Space on RH Linux

I will extract the key part for you:

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 62 GB
* 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 64 GB. sga max Size 62 GB 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 wowould in RHAS2.1:

MountNote 262004.1 ):

* Use shmfs/tmpfs much as you wowould 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 size = 20g 0 0

---- OR ----

Mount tmpfs:

# Mount-t 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, doesn't that pages are not pageable/swappable. This approach provides the commonly desired effect. Ramfs is created:

# Mount-t 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 shocould 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 notes 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/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.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.