Saya mengetik skrip shell untuk mengetahui total memori fisik di beberapa kotak linux RHEL.
Pertama-tama saya ingin menekankan bahwa saya tertarik pada total memori fisik yang dikenali oleh kernel, bukan hanya memori yang tersedia . Oleh karena itu, mohon, hindari jawaban yang menyarankan untuk membaca / proc / meminfo atau menggunakan perintah gratis , atas atau sar - Dalam semua kasus ini, nilai " memori total " berarti " memori yang tersedia ".
Pikiran pertama adalah membaca pesan kernel boot:
Memory: 61861540k/63438844k available (2577k kernel code, 1042516k reserved, 1305k data, 212k init)
Tetapi di beberapa kotak linux, karena penggunaan perangkat lunak PowerPath EMC2 dan pesan boot yang membanjir di awal kernel, pesan kernel boot yang berguna itu tidak tersedia, bahkan di file / var / log / dmesg .
Opsi kedua adalah perintah dmidecode (saya diperingatkan terhadap kemungkinan ketidakcocokan RAM yang dikenali kernel dan RAM asli karena keterbatasan beberapa kernel dan arsitektur yang lebih lama). Opsi --memory menyederhanakan skrip tetapi saya menyadari bahwa rilis lama dari perintah itu tidak memiliki opsi --memory .
Kesempatan terakhir saya adalah perintah getconf . Ini melaporkan ukuran halaman memori, tetapi bukan jumlah total halaman fisik - variabel sistem _PHYS_PAGES tampaknya merupakan halaman fisik yang tersedia, bukan total halaman fisik.
# getconf -a | grep HALAMAN HALAMAN 4096 _AVPHYS_PAGES 1049978 _PHYS_PAGES 15466409
Pertanyaan saya: Apakah ada cara lain untuk mendapatkan jumlah total memori fisik, yang cocok untuk diurai oleh skrip shell?