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>
|
<filename>/usr/src/sys/i386/conf/LINT</filename>.</para>
|
||||||
|
|
||||||
<sect2>
|
<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
|
<para>Large memory configuration machines require access to
|
||||||
gigabytes. This was termed the four gigabytes limit and
|
more than the 4 gigabyte limit on User+Kernel Virtual
|
||||||
was a hassle to those who owned machines which supported a
|
Address (<acronym>KVA</acronym>) space. Due to this
|
||||||
memory size larger than four gigabytes. For those users, the
|
limitation, Intel added support for 36-bit physical address
|
||||||
&man.pae.4; driver was written. The <literal>PAE</literal>
|
space access in the &pentium; Pro and later line of CPUs.</para>
|
||||||
driver provides for memory address extensions ultimately
|
|
||||||
permitting up to sixty-four gigabytes. To make use of this
|
<para>The Physical Address Extension (<acronym>PAE</acronym>)
|
||||||
feature, just add:</para>
|
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>
|
||||||
|
|
||||||
<programlisting>options PAE</programlisting>
|
<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>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>
|
||||||
|
|
||||||
<note>
|
<para>PAE support in &os; has a few limitations:</para>
|
||||||
<para>This option is slightly experimental, and could cause
|
|
||||||
minor problems. For instance, the kernel's virtual address
|
<itemizedlist>
|
||||||
space may need to be increased. Add the
|
<listitem>
|
||||||
<option>KVA_PAGES</option> from <filename>NOTES</filename> to
|
<para>A process is not able to access more than 4
|
||||||
the kernel configuration file. The default number,
|
gigabytes of VM space.</para>
|
||||||
<literal>260</literal>, may need to be increased and the
|
</listitem>
|
||||||
<option>kern.maxvnodes</option> may need to be decreased by
|
|
||||||
using the <command>sysctl</command> utility. Reading the
|
<listitem>
|
||||||
&man.tuning.7; manual page is certainly advised.</para>
|
<para><acronym>KLD</acronym> modules cannot be loaded into
|
||||||
</note>
|
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>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue