用于限制总 RAM 使用量的内核参数?

用于限制总 RAM 使用量的内核参数?

我在联想 X201i 上运行 Kubuntu 20.04 和原版内核。我有 4G 内存,经常会遇到内存溢出问题。一位同事给了我两个 8G SO-DIMM。问题是,X201i 检测到 16GB,但由于内存控制器不支持更多内存,因此只能使用 8GB。因此,当 X201i 开始使用更多内存(可能达到 8GB 边界)时,它会崩溃。为一台使用了 10 年的机器购买 2x4GB SO-DIMM 似乎不太划算,因为内存成本仍然在 40-50 欧元左右。是否可以防止使用“上层”8GB?我尝试了 mem=8GB 和 memmap=08GB@00GB,但没有成功。我要么得到奇怪的颜色,要么根本无法启动。

dmidecode 得出这个

dmidecode 3.2

Getting SMBIOS data from sysfs. SMBIOS 2.6 present.

Handle 0x0007, DMI type 5, 20 bytes Memory Controller Information Error Detecting Method: None Error Correcting Capabilities: None Supported Interleave: One-way Interleave Current Interleave: One-way Interleave Maximum Memory Module Size: 4096 MB Maximum Total Memory Size: 8192 MB Supported Speeds: Other Supported Memory Types: DIMM SDRAM Memory Module Voltage: 2.9 V Associated Memory Slots: 2 0x0008 0x0009 Enabled Error Correcting Capabilities: Unknown

Handle 0x0008, DMI type 6, 12 bytes Memory Module Information Socket Designation: DIMM Slot 1 Bank Connections: 0 1 Current Speed: 43 ns Type: DIMM SDRAM Installed Size: 8192 MB (Double-bank Connection) Enabled Size: 8192 MB (Double-bank Connection) Error Status: OK

Handle 0x0009, DMI type 6, 12 bytes Memory Module Information Socket Designation: DIMM Slot 2 Bank Connections: 2 3 Current Speed: 43 ns Type: DIMM SDRAM Installed Size: 8192 MB (Double-bank Connection) Enabled Size: 8192 MB (Double-bank Connection) Error Status: OK

Handle 0x002A, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 8 GB Error Information Handle: Not Provided Number Of Devices: 2

Handle 0x002B, DMI type 17, 28 bytes Memory Device Array Handle: 0x002A Error Information Handle: No Error Total Width: 64 bits Data Width: 64 bits Size: 8192 MB Form Factor: SODIMM Set: None Locator: DIMM 1 Bank Locator: Bank 0/1 Type: DDR3 Type Detail: Synchronous Speed: 1600 MT/s Manufacturer: 0198
Serial Number: 4B057A41
Asset Tag: 1936 Part Number: KHX1600C9S3L/8G
Rank: Unknown

Handle 0x002C, DMI type 17, 28 bytes Memory Device Array Handle: 0x002A Error Information Handle: No Error Total Width: 64 bits Data Width: 64 bits Size: 8192 MB Form Factor: SODIMM Set: None Locator: DIMM 2 Bank Locator: Bank 2/3 Type: DDR3 Type Detail: Synchronous Speed: 1600 MT/s Manufacturer: 0198
Serial Number: 4C05AD41
Asset Tag: 1936 Part Number: KHX1600C9S3L/8G
Rank: Unknown

uname 是

Linux arno-ThinkPad-X201 5.4.0-29-generic #33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

答案1

从我的头脑开始(所以你必须仔细阅读)。你必须解析内核参数。

如果您使用 grub 引导加载程序,则可以通过(如果您有启动菜单)将内核参数临时解析到内核来完成此操作。

要使其永久生效,请编辑 /etc/default/grub (<-conf 或类似内容) 并运行 update-grub。

我认为限制内存的参数就这么简单:

内存=128M

我建议你先进行测试,然后再将其永久化。需要考虑以下几点:

https://wiki.ubuntu.com/Kernel/KernelBootParameters https://www.kernel.org/doc/html/latest/admin-guide/ramoops.html

答案2

我用“老式”方法解决了这个问题。升级到 8GB 的​​ X220。在 X201 中安装了 8GB,然后送给我的朋友。运行 X220 时,16GB 的内存在 X201 中不起作用... 你好,Arno

相关内容