一、查看内存信息
1、cat /proc/meminfo
MemTotal: 系统从加电开始到引导完成,kernel本身要占用一些内存,最后剩下可供kernel支配的内存就是MemTotal。这个值在系统运行期间一般是固定不变的
MemFree: 表示系统尚未使用的内存。[MemTotal-MemFree]就是已被用掉的内存
MemAvailable: 有些应用程序会根据系统的可用内存大小自动调整内存申请的多少,所以需要一个记录当前可用内存数量的统计值,MemFree并不适用,因为MemFree不能代表全部可用的内存,系统中有些内存虽然已被使用但是可以回收的,比如cache/buffer、slab都有一部分可以回收,所以这部分可回收的内存加上MemFree才是系统可用的内存,即MemAvailable。/proc/meminfo中的MemAvailable是内核使用特定的算法估算出来的,要注意这是一个估计值,并不精确
cat /proc/meminfo
MemTotal: 16334160 kB
MemFree: 153852 kB
Buffers: 18480 kB
Cached: 130388 kB
SwapCached: 295820 kB
Active: 13434784 kB
Inactive: 2255828 kB
Active(anon): 13367752 kB
Inactive(anon): 2174612 kB
Active(file): 67032 kB
Inactive(file): 81216 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 8241148 kB
SwapFree: 2738072 kB
Dirty: 1016 kB
Writeback: 0 kB
AnonPages: 15262656 kB
Mapped: 30732 kB
Shmem: 600 kB
Slab: 213912 kB
SReclaimable: 153052 kB
SUnreclaim: 60860 kB
KernelStack: 40928 kB
PageTables: 75784 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 16408228 kB
Committed_AS: 28879476 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 183164 kB
VmallocChunk: 34350642240 kB
HardwareCorrupted: 0 kB
AnonHugePages: 7729152 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 8192 kB
DirectMap2M: 2088960 kB
DirectMap1G: 14680064 kB
2、free -h、free -k
free -h
total used free shared buff/cache available
Mem: 15G 562M 14G 24M 150M 14G
Swap: 8.0G 0B 8.0G
free -k
total used free shared buff/cache available
Mem: 16266580 575616 15537284 25392 153680 15432112
Swap: 8388604 0 8388604