|
linux系统该如何查看内存使用情况以及清理缓存?
% |- j' J5 u! R# g5 M6 L3 a) o/ S' u: o$ C* S8 b+ q
linux系统该如何查看内存使用情况以及清理缓存?( x$ h$ v3 W% g# h+ {
/ j( b R: b6 e$ |+ U' [) B$ h有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
0 G7 y. Z/ N( w" r4 e/ _& w3 W4 @: P& S+ E" Y$ ]. M
1.查看物理内存使用情况的命令:free -h
2 f. \( R* N9 z) s* m" N5 C6 K" X1 z. K6 _3 F7 B2 k5 W4 }
totel:机器总的物理内存;
, Y$ f7 n8 J& I, e" O B- g* J
9 D2 t5 N+ \. [4 n- w# A4 dused:已使用的内存;
$ J. W; g* V% b8 u4 X6 d
' y6 ?# ~" b5 C) qfree:空闲的物理内存;9 m) h0 S$ I2 a6 s* J. }" g5 z
3 F, w+ R4 F: G+ O N
shared:被共享使用的物理内存;
. T: j, X+ a& `% h7 Z! b5 ^- J' ^! Z* W! T$ q+ b
buff/cache:可以理解为缓存;
$ u4 w- ~7 B% b- Q4 B( g* o7 B. {) E$ P. V
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。- `: v& T3 \3 A% C' Z4 @. Z
8 M, E. g9 L* R2.清理缓存命令:1 ~; Q3 T) G9 w; J9 \& S# l
- B. \! H F& i; D$ Z5 N
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
1 d& N1 U1 Y: h* |$ D1 `3 Z) g2 w: J4 _
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
" g" Z5 i( R0 C4 H# ]: l
4 n# ^, { r, u J' Z% becho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存7 M+ A- a" [, Q* B0 ~
8 h4 K( b* d0 r4 b: h$ M( q
注释:8 z7 w d C9 K7 a5 x# t( e; D4 r
1 Z6 s: }0 ^- ~) Cecho 0 是不释放缓存
2 H6 V( L5 N" c: B% H
% `9 k. G" c4 v, b; X5 T, ^echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
- h! N1 @* I' y0 E- p9 r& w. V5 M9 [/ Q5 v6 L! ]
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
' }6 g! A4 p; Q% d
, r9 j$ ]# |0 `) k7 d- p; kecho 3 是释放 1 和 2 中说到的所有缓存
/ z! x. f+ _7 [) A
6 b5 i0 j* G* \* ?( f* x- U" w2 |5 i- P# `1 y3 y# B* t9 Z
5 r' A2 v( @9 Z. G t3 c/ M8 L
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|