free命令查看内存使用,主要看free和cached是否够用。

root [~] free -m
             total       used       free     shared    buffers     cached
Mem:          3830       3727        103          0          3       2898
-/+ buffers/cache:        825       3005
Swap:         3967        111       3856

查看详细内存使用,Slab有时候会占用很高。

root [~] cat /proc/meminfo
MemTotal:        7662648 kB
MemFree:         6030756 kB
MemAvailable:    7338432 kB
Buffers:           88144 kB
Cached:            96176 kB
SwapCached:            0 kB
Active:           387132 kB
Inactive:          16588 kB
Active(anon):     220832 kB
Inactive(anon):     5784 kB
Active(file):     166300 kB
Inactive(file):    10804 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                80 kB
Writeback:             0 kB
AnonPages:        219400 kB
Mapped:            25916 kB
Shmem:              7216 kB
Slab:            1187744 kB
SReclaimable:    1171768 kB
SUnreclaim:        15976 kB
KernelStack:        2016 kB
PageTables:         5468 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     3831324 kB
Committed_AS:     456928 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       16200 kB
VmallocChunk:   34359716443 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       22528 kB
DirectMap2M:     7841792 kB

slabtop命令,可以根据结果中的SIZE字段查看使用情况。

sync,清理缓存前记得同步内存到磁盘。

root [~] sync

drop_caches,可以进行内存缓存删除,默认是0,1表示清空页缓存,2表示清空inode和目录树缓存,3清空所有的缓存。

root [~] free -m
root [~] sync
root [~] echo 2 > /proc/sys/vm/drop_caches
root [~] free -m