|
linux系统该如何查看内存使用情况以及清理缓存?! e" h/ E0 ~/ i% B: m
% A$ u% H- p5 j+ i7 ]linux系统该如何查看内存使用情况以及清理缓存?4 [- a7 f% F2 O4 D ^" m1 n5 w
n# Z- [1 P, y5 ]! Z# t有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。 P. y; J6 e7 @8 F7 I% K6 |
- V7 p8 q/ j0 ?* O- Y2 a h! V1.查看物理内存使用情况的命令:free -h- m, l; c+ M+ ?) w
' G2 F0 s M+ ]: |8 Vtotel:机器总的物理内存;/ Q! q6 M: A$ M2 c" @
# q: y2 D7 R. I! V; }used:已使用的内存;
& Y$ q# M& ?0 u! f& c
5 X6 K' N8 k P( Rfree:空闲的物理内存;3 V* p4 b6 P) x
0 N1 t( R' P0 F' ashared:被共享使用的物理内存;
9 N1 E o' q5 b% Q1 d. b3 p# S/ g; x$ c
buff/cache:可以理解为缓存;
* b F+ U) I$ A' q' k5 I6 R0 k+ _% y Z- t! r
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
" ^" ~7 Z& i/ C0 F. d$ h5 I/ W8 F
3 J# K$ a! F% M2.清理缓存命令:
7 x c' J" C8 U" t0 b- p. d r0 J; \9 V- z
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
5 U5 P- {4 B1 o9 C8 j" S6 v: Q k
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
% k( q" i1 J/ u( T3 }* B" I+ `. L' y1 Q. Z( ]
echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存; M2 j) C; t9 k7 y
6 r% m: S: l+ |) c: E, K) |- X B: q注释:$ K0 v1 k n N+ p
% I1 U/ I, H7 e2 n9 m& }
echo 0 是不释放缓存6 [5 K1 a* s0 `. b/ N5 i6 l% a
8 f- ~/ d! A5 m) F* f& X
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
4 s6 m) R4 Z+ J0 r. z, ^0 _/ D" l
3 f- b6 }- A- M/ U6 Yehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
! \8 b/ C$ Y9 ~( _
3 O) U% s" w* B) Q% e1 h! ]echo 3 是释放 1 和 2 中说到的所有缓存+ z6 Q( X, k7 f% A, g
/ q+ J2 r/ O( ~3 Q2 i' B* u
6 Z% [6 l2 B- ?% I a% @: ?
2 S0 @. p& r- |/ f) n4 h5 U原文连接:http://www.szw86.com/thread-8891-1-1.html |
|