我正在输入一个 shell 脚本来找出一些 RHEL Linux 框中的物理内存总量。
首先,我想强调的是,我感兴趣的是内核识别的 全部物理内存,而不仅仅是 可用内存。因此,请避免使用建议阅读 /proc/meminfo或使用 自由、 头儿或 Sar命令的答案——在所有这些情况下,它们的“ 完整的记忆”值意味着“ 可用内存”。
第一个想法是读取引导内核消息:
Memory: 61861540k/63438844k available (2577k kernel code, 1042516k reserved, 1305k data, 212k init)
但是在一些 Linux 系统中,由于在内核启动时使用了 EMC2的 PowerPath 软件和它的 洪水引导消息,这些有用的引导内核消息不可用,甚至在 /var/log/dmesg文件中也不可用。
第二个选项是 中密码命令(由于一些较老的内核和体系结构的局限性,内核识别的 RAM 和真实的 RAM 可能不匹配,我对此提出了警告)。选项 记忆简化了脚本,但是我意识到该命令的旧版本没有 记忆选项。
我最后的机会是 开会命令。它报告内存页面大小,但不报告物理页面的总数—— 翻译: 奇芳系统变量似乎是可用的物理页面,而不是物理页面的总数。
# getconf -a | grep PAGES PAGESIZE 4096 _AVPHYS_PAGES 1049978 _PHYS_PAGES 15466409
我的问题是: 有没有其他方法可以获得物理内存的总量,适合用 shell 脚本进行解析?