シェルスクリプトを入力して、一部のRHEL linuxボックスの合計物理メモリを調べています。
まず最初に、利用可能なメモリだけでなく、カーネルによって認識される物理メモリ全体に関心があることを強調しておきます。したがって、/ proc / meminfoを読んだり、free、top、またはsarコマンドを使用したりすることを示唆する回答は避けてください。これらのすべてのケースで、「合計メモリ」の値は「使用可能なメモリ」の値を意味します。
最初に考えたのは、ブートカーネルメッセージを読むことでした。
Memory: 61861540k/63438844k available (2577k kernel code, 1042516k reserved, 1305k data, 212k init)
しかし、一部のLinuxボックスでは、カーネルの起動時にEMC2のPowerPathソフトウェアとそのフラッディングブートメッセージが使用されているため、/ var / log / dmesgファイルにさえも、その有用なブートカーネルメッセージは利用できません。
2番目のオプションはdmidecodeコマンドでした(一部の古いカーネルとアーキテクチャの制限により、カーネルが認識したRAMと実際のRAMが一致しない可能性があることに対して警告されます)。オプション--memoryはスクリプトを簡略化しますが、そのコマンドの古いリリースには--memoryオプションがないことに気付きました。
私の最後のチャンスはgetconfコマンドでした。物理ページの総数ではなく、メモリページサイズを報告します。_PHYS_PAGESシステム変数は、物理ページの総数ではなく、使用可能な物理ページのようです。
#getconf -a | grep PAGES PAGESIZE 4096 _AVPHYS_PAGES 1049978 _PHYS_PAGES 15466409
私の質問:シェルスクリプトで解析するのに適した物理メモリの総量を取得する別の方法はありますか?