[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 31G 2.1G 2.5G 45M 26G 28G
Swap: 15G 21M 15G
[root@localhost ~]# cat /proc/meminfo
MemTotal: 32780556 kB #物理总内存
MemFree: 2609032 kB #物理空闲内存
MemAvailable: 30199896 kB #物理使用中内存 = 物理总内存 - 物理空闲内存
Buffers: 0 kB #内核缓冲区用到的内存,是指buff/cache中的buff
Cached: 27823600 kB #分配给文件缓冲区的内存,是指buff/cache中的cache = Cached + SReclaimable,buff/cache = Buffers + Cached + SReclaimable
SwapCached: 232 kB #交换缓存的大小,被高速缓冲存储用的交换空间(硬盘的swap)的大小
Active: 3175272 kB #经常使用的高速缓冲存储器页面文件大小,是指Active list= Active(anon) + Active(file)
Inactive: 25653804 kB #不经常使用的高速缓冲存储器文件大小,是指Inactive list= Inactive(anon) + Inactive(file)
Active(anon): 626336 kB #活跃的匿名内存
Inactive(anon): 425716 kB #不活跃的匿名内存
Active(file): 2548936 kB #活跃的文件使用内存
Inactive(file): 25228088 kB #不活跃的文件使用内存
Unevictable: 0 kB #不能被释放的内存页大小(包括匿名页和文件页)
Mlocked: 0 kB #被系统调用函数mlock()锁住的物理内存大小
SwapTotal: 16515068 kB #交换空间总内存
SwapFree: 16493300 kB #交换空间空闲内存
Dirty: 0 kB #脏数据,在磁盘缓冲区中尚未写入物理磁盘的内存大小
Writeback: 0 kB #正在被写回磁盘的脏页占用的内存大小
AnonPages: 1005300 kB #未映射页的内存/映射到用户空间的非文件页表大小
Mapped: 45768 kB #映射文件内存
Shmem: 46576 kB #已经被分配的共享内存
Slab: 264684 kB #内核数据结构缓存,Slab=SReclaimable + SUnreclaim
SReclaimable: 216668 kB #可回收slab内存
SUnreclaim: 48016 kB #不可回收slab内存
KernelStack: 7920 kB #内核消耗的内存
PageTables: 22560 kB #管理内存分页的索引表的大小
NFS_Unstable: 0 kB #不稳定页表的大小
Bounce: 0 kB #在低端内存中分配一个临时buffer作为跳转,把位于高端内存的缓存数据复制到此处消耗的内存
WritebackTmp: 0 kB #FUSE用于临时写回缓冲区的内存
CommitLimit: 32905344 kB #系统实际可分配内存
Committed_AS: 4247156 kB #系统当前已分配的内存
VmallocTotal: 34359738367 kB #预留的虚拟内存总量, VmallocTotal=VmallocUsed + VmallocChunk
VmallocUsed: 208968 kB #已经被使用的虚拟内存
VmallocChunk: 34359341052 kB #可分配的最大的逻辑连续的虚拟内存
Percpu: 1584 kB #用于percpu分配的的内存大小,不包括metadata
HardwareCorrupted: 0 kB #系统检测到内存的硬件故障时删除掉的内存页的总量
AnonHugePages: 661504 kB #匿名大页缓存大小
CmaTotal: 0 kB #连续可用内存总量
CmaFree: 0 kB #空闲连续可用内存
HugePages_Total: 0 #预留的大页内存总量
HugePages_Free: 0 #空闲的大页内存
HugePages_Rsvd: 0 #已经被应用程序分配但尚未使用的大页内存
HugePages_Surp: 0 #初始大页数与修改配置后大页数的差值
Hugepagesize: 2048 kB #单个大页内存的大小
DirectMap4k: 237440 kB #映射TLB为4kB的内存数量
DirectMap2M: 5005312 kB #映射TLB为2M的内存数量
DirectMap1G: 30408704 kB #映射TLB为1G的内存数量
#关于cache说法
#磁盘的操作有逻辑级(文件系统)和物理级(磁盘块),这两种Cache就是分别缓存逻辑和物理级数据的。
#PageCache是磁盘数据在内存中的缓存,而SwapCache则是交换分区在内存中的临时缓存。
#内存释放
sync #同步
echo 1 > /proc/sys/vm/drop_caches #释放掉Cache页中的干净页
echo 2 > /proc/sys/vm/drop_caches #释放掉Slab,包括dentry、inode等
echo 3 > /proc/sys/vm/drop_caches #释放Cache和slab