|
linux系统该如何查看内存使用情况以及清理缓存?+ f5 \3 }' U; {. }4 D* I
/ U- ~1 |$ u. rlinux系统该如何查看内存使用情况以及清理缓存?
6 v/ q+ k# Y$ w6 {. {7 B
% ]& W) R& W, l" @; j0 u有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。) K% f& E) @" V: y; V# v# C0 q
+ ]0 k; [: b* y9 ?$ i
1.查看物理内存使用情况的命令:free -h
. U7 e5 N& w0 H' H* V! d. m+ y, |
totel:机器总的物理内存;
, [, e2 ? J+ V
6 j* Y) J1 v' a0 S8 Yused:已使用的内存;& ^- W2 M& z( G* B" V2 Q1 o
1 Q3 u) ]0 u+ n2 r: Dfree:空闲的物理内存;- ^1 ]' d$ L1 }4 H# u9 d8 H% \9 _5 D
0 E, ?( c2 e r4 h1 Dshared:被共享使用的物理内存;. Z7 c5 y5 b& U0 N d1 }5 P- t
! `. I/ t6 h& ~% s0 Z. p0 }buff/cache:可以理解为缓存;
* p. ]9 P0 T" i8 N
4 i6 o2 I1 ] N) v& iavailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
3 k' h9 @7 j% \! L u6 b
0 a0 Q( m" @5 }) F2.清理缓存命令:
) K, @5 }; h8 ]3 C `& _) U5 q
. f) S0 y% Q# {/ F* F# ] S Aecho 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
( r ~1 x" C( L) ^- x* T& Z. S) T2 \' `9 L% Z2 I O/ P
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
3 @1 c7 X7 D, z) @$ ]* G
% { M% Z% p1 Pecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存0 ]! }' n( |' a* B. p$ ^. \
& n% R, @6 b7 _& N& p: f
注释:4 H) l* `* N2 i1 |$ N! b' g
v5 a( I0 C! r6 G& p6 v
echo 0 是不释放缓存
; M" W6 q) r; C$ h% N" m" n$ G3 J A- ]# K3 Q4 N
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
) M6 w5 z3 s( ^/ l# w, y
6 k6 O. x9 J1 D7 Mehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)$ R! g7 I( s& j5 }! J
3 s0 }3 B/ J& I! |: T! r# o! aecho 3 是释放 1 和 2 中说到的所有缓存9 Y& C# {" H! l5 h d9 I* b8 C/ X
3 r. V) ]8 L) n1 A5 u
3 G. E: L* S! @" T- d- h+ G: M+ ] z* {/ F% C( ?3 B" R+ r( j
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|