|
linux系统该如何查看内存使用情况以及清理缓存?: ^; ^, @+ v3 _- s' [( I4 o/ b% M' Z% C
9 B' q1 x. u& o) B+ m) j ~5 hlinux系统该如何查看内存使用情况以及清理缓存?
/ s0 L6 d h; m. n5 \$ l5 T% f' b! A$ L8 @- M! l5 t1 k; b- Y( F
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。" i3 l, j+ }6 K
% L: _+ n8 ~) G
1.查看物理内存使用情况的命令:free -h- F$ ]% _, h& u* {5 g& H. U/ f
9 B* n$ R( B- u5 b% t
totel:机器总的物理内存;5 \3 u! a; m( [% c2 i* ?
4 S/ ]: @2 o$ l+ h8 Pused:已使用的内存;
6 I4 U& Y/ Q& h' v5 |9 i0 t; Y0 l( L
free:空闲的物理内存;8 @) G* U, M" ~7 E# N7 H
7 ^9 s+ ~* o0 ~6 {- b6 q/ B
shared:被共享使用的物理内存;
5 i& c7 l' u: c2 X" S% m
0 U6 E+ H$ G6 C. l" F& }1 R7 n+ nbuff/cache:可以理解为缓存;
1 g6 z: I* `2 p
4 b3 B2 G3 H/ |5 javailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。( `+ b7 N) P/ s# y, k
. m4 w$ h" P+ }& I, v, T5 e! f$ p2.清理缓存命令:& A4 q% J( R4 j9 h4 z) _
" e# r, x0 p, I, ~7 D) V
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
% l1 z+ h+ O4 G2 `: `4 a* _0 H; G: e
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
. ?$ S6 \# f* [) ?6 }3 N
' ^" J/ f: V: p3 \echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存
, H2 B, h0 q: `3 v2 ^) L( U9 z( u# P
注释:
% g- F. A- S1 M, [8 f, K* d3 x+ c2 U& s2 X* Q
echo 0 是不释放缓存
3 k- L- J. k# p# y( N' d7 h# Y3 D+ B) u, Z+ g Q K' E+ F7 {5 z
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)7 E5 G8 p z. Y( A- O d
r8 ]( \1 {6 l% c+ o) Cehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
# x- F0 J8 O7 F$ R' V" `
: j- o: H) j# techo 3 是释放 1 和 2 中说到的所有缓存8 S a9 P7 v8 R) D! P. _$ i1 i
- E5 O! a% ~$ `3 R! I; ]0 a6 m& N5 T+ v% F
6 K9 C4 u% z- k2 f
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|