如何以编程方式告诉Linux处于PAE或非PAE模式?

时间:2012-12-12 00:06:16

标签: memory memory-management linux-kernel kernel cpu-architecture

需要创建一个脚本来检查内核是否处于PAE模式。当然,仅检查/ proc / cpuinfo标志是否具有此“pae”设置是不够的。

我们必须知道PAE机制是否实际上不仅实现了,而且还被激活了。

因为PAE内核现在是新的默认值,并且如果你需要一个非PAE内核,现在必须创建另一个内核。

  1. 换句话说,我们如何判断内核在具有PAE的CPU上是非PAE(是测试的两种可能条件之一)。

  2. 其他的是,如何判断内核是否是没有PAE支持的CPU上的PAE。

  3. 并且没有办法判断在典型的安全内核中是否使用了CONFIG_HIGHMEM或CONFIG_PAE内核配置选项。

2 个答案:

答案 0 :(得分:1)

通常,可以在/ boot / config- *中发现CONFIG_PAE,如下所示:

$ cat /boot/config-$(uname -r) | grep PAE
  CONFIG_X86_PAE=y

您无法访问该文件吗?

答案 1 :(得分:0)

一种方法是读取CR4寄存器并查看第5位。PAE为1,无PAE为0。您可以在内核中运行的某些代码中读取该寄存器(例如内核驱动程序)。您可以为此目的编写一个小驱动程序。它应该不是很复杂。