在Linux系統下,通過命令可以查看記憶體狀態,比如
# more /proc/meminfo
MemTotal: 16423848 kB
MemFree: 3008348 kB
Buffers: 272916 kB
Cached: 12539184 kB
SwapCached: 0 kB
Active: 3473960 kB
Inactive: 9512632 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 16423848 kB
LowFree: 3008348 kB
SwapTotal: 16386292 kB
SwapFree: 16386292 kB
Dirty: 176 kB
Writeback: 0 kB
AnonPages: 174440 kB
Mapped: 52192 kB
Slab: 361836 kB
PageTables: 19220 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 24598216 kB
Committed_AS: 883256 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 274632 kB
VmallocChunk: 34359463459 kB
HugePages_Total: 0
各項的具體含義,這裡不具體解釋,其中有一項是cached,指的是目前被緩衝的內容,可能被下次訪問用到,也可能被替換出去,一般都與Linux系統自動管理,不過在做某些測試時,不希望cache幹擾,可以通過下面的方法來進行清理,即執行下面命令。
syncsync
echo 3 > /proc/sys/vm/drop_caches
echo 0 > /proc/sys/vm/drop_caches
執行完後,再查看記憶體狀態,如下:
# more /proc/meminfo
MemTotal: 16423848 kB
MemFree: 16099556 kB
Buffers: 360 kB
Cached: 52720 kB