Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] re: NX (Execute Disable) protection cannot be enabled: non-PAE kernel! [dmesg]
Date: Tue, 08 Oct 2013 21:20:53
Message-Id: 52547725.3030209@gmail.com
In Reply to: Re: [gentoo-user] re: NX (Execute Disable) protection cannot be enabled: non-PAE kernel! [dmesg] by Alexander Kapshuk
1 On 08/10/2013 19:04, Alexander Kapshuk wrote:
2 > On 10/07/2013 10:42 PM, Alan McKinnon wrote:
3 >> On 07/10/2013 21:28, Alexander Kapshuk wrote:
4 >>> Is the message below I should do something about?
5 >>>
6 >>> box0=; dmesg|grep -i PAE
7 >>> [ 0.000000] Notice: NX (Execute Disable) protection cannot be
8 >>> enabled: non-PAE kernel!
9 >>>
10 >>>
11 >>> My CPU seems to have support for it.
12 >>> box0=; grep pae /proc/cpuinfo
13 >>> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
14 >>> cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
15 >>> constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl
16 >>> est tm2 ssse3 cx16 xtpr pdcm lahf_lm dtherm
17 >>> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
18 >>> cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
19 >>> constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl
20 >>> est tm2 ssse3 cx16 xtpr pdcm lahf_lm dtherm
21 >>>
22 >>> But not my kernel, as far as I can tell.
23 >>> box0=; uname -a
24 >>> Linux box0 3.10.7-gentoo-r1 #1 SMP Sat Oct 5 23:57:58 EEST 2013 i686
25 >>> Intel(R) Pentium(R) Dual CPU T3400 @ 2.16GHz GenuineIntel GNU/Linux
26 >>>
27 >>> box0=; grep -i pae .config
28 >>> box0=; echo $?
29 >>> 1
30 >>>
31 >>> Thanks.
32 >>>
33 >>>
34 >>
35 >> Symbol: ARM_LPAE [=ARM_LPAE]
36 >> Type : unknown
37 >>
38 >> Symbol: X86_PAE [=n]
39 >> Type : boolean
40 >> Prompt: PAE (Physical Address Extension) Support
41 >> Location:
42 >> (1) -> Processor type and features
43 >> Defined at arch/x86/Kconfig:1213
44 >> Depends on: X86_32 [=n] && !HIGHMEM4G [=n]
45 >> Selected by: HIGHMEM64G [=n] && <choice> && !M486 [=n]
46 >>
47 >>
48 > Thanks. I did a little research into the whole PAE business, as
49 > obviously my knowledge of the matter in question was limited.
50 >
51 > If I understood it correctly, PAE is a method that allows 32-bit kernels
52 > access 4 or more Gb of RAM, which is normally the domain of 64-bit kernels.
53 >
54 > Seeing I've got 3 Gb of RAM, I arrived at the conclusion I don't need
55 > PAE enabled, do I?
56 >
57 > box0=; sed 1q /proc/meminfo
58 > MemTotal: 3107668 kB
59
60
61 That is correct, with 3G physica RAM, you will not benefit from using
62 PAE at all. I don't think it interferes with anything if you do have it,
63 I recall a time when RedHat shipped 32 bit kernels that were PAE-enabled.
64
65 Briefly, the way it works is that the kernel assigns blocks of memory to
66 different processes. So a single process can still only access 4G of
67 memory, but two different process don't anymore have to address the same
68 4G of memory like you must do without PAE. But you still don't get to
69 give your 32 bit database more than 4g of RAM
70
71
72
73
74 --
75 Alan McKinnon
76 alan.mckinnon@×××××.com

Replies