|
linux系统该如何查看内存使用情况以及清理缓存?
: u0 p9 `/ v" k6 ~
' e0 Y9 V, {4 f) I, M8 ?5 elinux系统该如何查看内存使用情况以及清理缓存?
# c @6 a* I( z J8 P2 w2 v2 ^: K) i4 \2 \( {5 |+ _; Y& E. F
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。! J+ E4 e7 H& B# E' t$ b2 z( N
+ V; N3 d" }& [1.查看物理内存使用情况的命令:free -h* A( T( T( _1 |% }( M8 [
' L. B8 e, M. ?- V" T/ Q
totel:机器总的物理内存;
j$ R, z" x6 G* z: z. |: q
7 H0 j, J4 N# v9 nused:已使用的内存;( k1 ]9 W% V0 ~6 }- z4 C
% w% u" e( p& ?$ H- L
free:空闲的物理内存;0 Y4 h: j7 P6 R! o/ O% [8 A
) W2 {0 g8 C7 m
shared:被共享使用的物理内存;
2 v% m' X: N4 R4 V Z' c. B& Y. E% u: m. F6 _! x- {9 ^
buff/cache:可以理解为缓存;
, k1 V- x- j% `& d' t$ U* @* t5 o" ]6 |0 h9 n) H- J+ x% l: v
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。7 L1 @7 D* n2 W
* I$ Q' } w; V! @2.清理缓存命令:5 N8 f% p$ f1 ^- r" b9 f' Z
& U% m8 b: v( U. l7 eecho 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存+ o- u7 P+ D2 Z) R7 _! J
, }! F3 K9 J/ y3 w; ^' {. y
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
% i" g! [: X8 d% I' N6 m
0 |5 k$ c/ c5 J* k" Jecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存% h, \/ C& n: q$ u6 h* D
; T, K8 N: {8 m* N. d/ g注释:7 i# c% i) n% T& _" F
1 ?7 R! p% V+ G, V! wecho 0 是不释放缓存& O0 ~. D! g1 n& G6 [
0 j$ k* @+ e1 l) C+ o1 r- x
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)7 w% Q' ~ z- N+ o7 l5 C( c7 n
$ ^/ n' y1 ]; Y- C" ?* X
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)6 `6 F5 j2 L7 v, G( o3 b7 M' \5 R6 n
( O" ?' m8 _8 x! ?! Q' c3 wecho 3 是释放 1 和 2 中说到的所有缓存
: i: f8 Y( s* e$ Q8 N
3 R g' g: H; r+ k) I4 ?5 v. D
, H7 `: z) I3 `7 \: k) U2 j1 a# \ }+ m+ C/ ?
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|