在Linux上,我们可以通过文件“/proc/meminfo”来显示内存相关信息:
$cat /proc/memoinfo MemTotal: 32939372 kB MemFree: 31155452 kB MemAvailable: 31269760 kB Buffers: 242964 kB Cached: 200756 kB SwapCached: 10472 kB Active: 853936 kB Inactive: 630008 kB Active(anon): 569276 kB Inactive(anon): 467960 kB Active(file): 284660 kB Inactive(file): 162048 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 1048572 kB SwapFree: 829436 kB Dirty: 24 kB Writeback: 0 kB AnonPages: 1037860 kB Mapped: 91908 kB Shmem: 376 kB Slab: 176904 kB SReclaimable: 75392 kB SUnreclaim: 101512 kB KernelStack: 7360 kB PageTables: 20676 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 17518256 kB Committed_AS: 3736228 kB VmallocTotal: 34359738367 kB VmallocUsed: 0 kB VmallocChunk: 0 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 812896 kB DirectMap2M: 32741376 kB DirectMap1G: 2097152 kB
如果我们只想获取内存总大小,可以使用awk提取内存信息:
#!/bin/bash function get_mem_info () { local key="" local val=$(cat /proc/meminfo | grep "$key" | awk -F ' ' '{ print ; }') echo $val } get_mem_info
例如:
$./get_mem_info MemTotal 32939372
日期:2020-07-07 20:54:35 来源:oir作者:oir