|
linux系统该如何查看内存使用情况以及清理缓存?- K/ A2 D2 t1 r A* h% m: F+ Q
: p% _. k8 ]6 p$ ]7 L# Q* Glinux系统该如何查看内存使用情况以及清理缓存?9 t1 u* S0 V- K! M. m7 p4 Q
+ c1 ?0 b, V! n7 t, R有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。; n9 `( N5 f, T+ }" N$ {8 u) E
1 }8 \# I2 W O
1.查看物理内存使用情况的命令:free -h; g( c6 ]) v( s% \5 \' a G
: k+ R. o- S9 c1 [
totel:机器总的物理内存;
2 e& W; E. i/ o& }9 T* C* x" P/ B/ J2 g
used:已使用的内存;( n5 F: X# |5 K
: i5 n! e" R4 X" D# M- g
free:空闲的物理内存;
, v) N" a3 Q4 X
. w6 ?" {4 n( [ t( [shared:被共享使用的物理内存;1 u1 |, |; s% J
( C: g F! w. L" g
buff/cache:可以理解为缓存;1 ^$ o# [# f' ~5 [: g
k1 i$ M) Q$ E r3 u
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。3 Y$ `7 C. x; T0 J% E
6 a& e+ s3 M1 A! B& g6 q6 z z( h
2.清理缓存命令:5 w+ a3 o7 V1 N
5 e3 I1 Q s; g. T# R% c: v# u9 `echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
' J2 j, U6 @# n2 I+ u7 ?% R/ I9 h2 g$ |) p; x
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存# W4 J/ w& P% N$ s/ s3 W; t$ h
( H) p: L5 m% c0 d t3 ]$ Pecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存
0 t- J% N! q9 i
' d5 }' x/ i8 x3 Y- z注释:- q3 X1 A7 Q: S/ ?7 w
0 ~ N% L+ Z- d5 h
echo 0 是不释放缓存! h5 m4 |) W3 l6 r
# \/ o( q* a, P& e0 a; h; C' Pecho 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)) w1 g. a5 D; b1 d& Q
& T F! s1 j6 }5 W1 a [5 N* F
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存). _ `& I2 a9 W% ~0 M0 z6 ]9 @/ [
% z3 D2 z( Z, c8 T
echo 3 是释放 1 和 2 中说到的所有缓存
9 f" q- ~6 ^5 o. {3 e0 U5 T( r% l" z' s; z1 j
, X T4 E; N ~2 I7 Y
6 @+ O( r8 L$ M+ r, `/ }原文连接:http://www.szw86.com/thread-8891-1-1.html |
|