|
linux系统该如何查看内存使用情况以及清理缓存?
& z9 [+ g# O% ? P! C! X% A) g8 b: e
linux系统该如何查看内存使用情况以及清理缓存?) C ]0 @- M* O6 \
& a, U2 `3 G9 d; E c有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。& Y: T9 E; x; o
( V, G( ~! E+ t/ P
1.查看物理内存使用情况的命令:free -h) H. z) Z Z' h6 X+ w
4 z; v, y1 ~$ ?9 c' |totel:机器总的物理内存;
3 D- P+ m+ N5 ]" I
8 V; s' k& e% r) k9 d gused:已使用的内存;
& F/ k/ Z0 d$ n) t: n! I: n
) G6 Q J) a# B8 Wfree:空闲的物理内存;
% G- i) M7 R4 A4 e
! o S- v; `# Z5 S3 ~& p5 Vshared:被共享使用的物理内存;. A0 {" X# T/ V2 Z2 N+ X" h) m3 t
: Y q* j' l* q+ x0 Q8 J% b( @
buff/cache:可以理解为缓存;
( J3 d0 X1 `* k. u6 t+ W j" s" b& t
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。0 Z, o# j0 Q# ~4 U3 u" D! I2 R
" m/ m. _% Y! B1 S
2.清理缓存命令:8 o. e f" |( f: I3 A& `# {
8 R+ n7 V' c2 Cecho 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
0 _5 ~1 V# K8 _7 H1 _) W0 m/ v# g" Y
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存. S" c) E8 R+ l& c9 [6 L
% b+ ?9 k8 |9 i! X& @" h% `echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存0 {& i, L. v! k: X. ^
/ ^5 g; E( H" k8 X! G
注释:
" F' X2 x# j" R1 I+ Y- R+ o: _
+ W5 I5 T8 |' g" F& ]echo 0 是不释放缓存
( h' C: n0 I& E, [$ F
3 b. \9 p3 ]/ A, }: L7 Decho 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)! m1 z( j* u1 E1 ^& Q/ ?
( M) D/ }* s) e) w( Q! p: [
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
8 }6 b/ E2 Y/ N6 t7 J
5 S5 H+ a! P: Iecho 3 是释放 1 和 2 中说到的所有缓存
8 [, Y) |0 e0 |
6 u, E6 D3 j( Z/ a4 m9 [( @/ B$ q; a7 j7 U. O
: o0 F" Z/ ]$ K
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|