Update PAE section. Added one sentence to the original submission
describing the versions of FreeBSD that support PAE. Submitted by: hmp Reviewed by: simon Discussed with: simon, murray
This commit is contained in:
parent
c6a9626fe6
commit
dd59ed300d
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=18511
1 changed files with 90 additions and 22 deletions
|
|
@ -1329,32 +1329,100 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
|
|||
<filename>/usr/src/sys/i386/conf/LINT</filename>.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Defeating Memory Limitations</title>
|
||||
<title>Large Memory Configurations (<acronym>PAE</acronym>)</title>
|
||||
<indexterm>
|
||||
<primary>
|
||||
Physical Address Extensions (<acronym>PAE</acronym>)
|
||||
</primary>
|
||||
<secondary>
|
||||
Large Memory Configurations
|
||||
</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>In the past, &os; never made use of memory beyond four
|
||||
gigabytes. This was termed the four gigabytes limit and
|
||||
was a hassle to those who owned machines which supported a
|
||||
memory size larger than four gigabytes. For those users, the
|
||||
&man.pae.4; driver was written. The <literal>PAE</literal>
|
||||
driver provides for memory address extensions ultimately
|
||||
permitting up to sixty-four gigabytes. To make use of this
|
||||
feature, just add:</para>
|
||||
<para>Large memory configuration machines require access to
|
||||
more than the 4 gigabyte limit on User+Kernel Virtual
|
||||
Address (<acronym>KVA</acronym>) space. Due to this
|
||||
limitation, Intel added support for 36-bit physical address
|
||||
space access in the &pentium; Pro and later line of CPUs.</para>
|
||||
|
||||
<para>The Physical Address Extension (<acronym>PAE</acronym>)
|
||||
capability of the &intel; &pentium; Pro and later CPUs
|
||||
allows memory configurations of up to 64 gigabytes.
|
||||
&os; provides support for this capability via the
|
||||
<option>PAE</option> kernel configuration option, available
|
||||
in the 4.X series of &os; beginning with 4.9-RELEASE and
|
||||
in the 5.X series of &os; beginning with 5.1-RELEASE. Due to
|
||||
the limitations of the Intel memory architecture, no distinction
|
||||
is made for memory above or below 4 gigabytes. Memory allocated
|
||||
above 4 gigabytes is simply added to the pool of available
|
||||
memory.</para>
|
||||
|
||||
<para>To enable <acronym>PAE</acronym> support in the kernel,
|
||||
simply add the following line to your kernel configuration
|
||||
file:</para>
|
||||
|
||||
<programlisting>options PAE</programlisting>
|
||||
|
||||
<para>to the kernel configuration file as explained above.</para>
|
||||
|
||||
<note>
|
||||
<para>This option is slightly experimental, and could cause
|
||||
minor problems. For instance, the kernel's virtual address
|
||||
space may need to be increased. Add the
|
||||
<option>KVA_PAGES</option> from <filename>NOTES</filename> to
|
||||
the kernel configuration file. The default number,
|
||||
<literal>260</literal>, may need to be increased and the
|
||||
<option>kern.maxvnodes</option> may need to be decreased by
|
||||
using the <command>sysctl</command> utility. Reading the
|
||||
&man.tuning.7; manual page is certainly advised.</para>
|
||||
<para>The <acronym>PAE</acronym> support in &os; is only
|
||||
available for &intel; IA-32 processors. It should also be
|
||||
noted, that the <acronym>PAE</acronym> support in &os; has
|
||||
not received wide testing, and should be considered beta
|
||||
quality compared to other stable features of &os;.</para>
|
||||
</note>
|
||||
|
||||
<para>PAE support in &os; has a few limitations:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>A process is not able to access more than 4
|
||||
gigabytes of VM space.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><acronym>KLD</acronym> modules cannot be loaded into
|
||||
a <acronym>PAE</acronym> enabled kernel, due to the
|
||||
differences in the build framework of a module and the
|
||||
kernel.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Device drivers that do not use the &man.bus.dma.9;
|
||||
interface will cause data corruption in a
|
||||
<acronym>PAE</acronym> enabled kernel and are not
|
||||
recommended for use. For this reason, the
|
||||
<filename>PAE</filename> kernel
|
||||
configuration file is provided in &os; 5.X, which
|
||||
excludes all drivers not known to work in a PAE enabled
|
||||
kernel.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Some system tunables determine memory resource usage
|
||||
by the amount of available physical memory. Such
|
||||
tunables can unnecessarily over-allocate due to the
|
||||
large memory nature of a <acronym>PAE</acronym> system.
|
||||
One such example is the <option>kern.maxvnodes</option>
|
||||
sysctl, which controls the maximum number of vnodes allowed
|
||||
in the kernel. It is advised to adjust this and other
|
||||
such tunables to a reasonable value.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>It might be necessary to increase the kernel virtual
|
||||
address (<acronym>KVA</acronym>) space or to reduce the
|
||||
amount of specific kernel resource that is heavily used
|
||||
(see above) in order to avoid <acronym>KVA</acronym>
|
||||
exhaustion. The <option>KVA_PAGES</option> kernel option
|
||||
can be used for increasing the
|
||||
<acronym>KVA</acronym> space.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>For performance and stability concerns, it is advised to
|
||||
consult the &man.tuning.7; manual page. The &man.pae.4;
|
||||
manual page contains up-to-date information on &os;'s
|
||||
<acronym>PAE</acronym> support.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue