|
linux系统该如何查看内存使用情况以及清理缓存?+ R8 F) I/ P& f* k2 H
6 x& c' { u0 |* K5 L! Tlinux系统该如何查看内存使用情况以及清理缓存?5 N1 D- J! W0 r9 B- M9 ^" S1 `, l
) S0 s& c, f, e2 G3 S, j. r有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
+ F- C5 Z' X* d1 S- B: C: i' W3 s# U8 H n, j0 R$ }! R
1.查看物理内存使用情况的命令:free -h
" b: ?" q7 [. a1 t& ?- l
, y& V3 ^6 w: X4 F3 O1 S G/ ^3 D" Ototel:机器总的物理内存;
6 ?+ N/ e8 h3 J# a5 P% i# U6 {' f! y, }" w, _
used:已使用的内存;
) P$ D4 X2 w& g% u; \! O$ Z
0 z7 f, L6 W! J. B$ Bfree:空闲的物理内存;9 W0 R( K( u! `5 q
& d3 {! ^" o) U$ fshared:被共享使用的物理内存;
( w9 A& `+ I; g
: g9 a C3 b9 p% G4 Y- r" q0 O6 c9 abuff/cache:可以理解为缓存;
. X5 h$ G- d( h( M. g& j3 a
0 n. @( a3 ^3 l, pavailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
0 z& J) [8 \. |$ r
$ g6 G- Y- n2 V8 w7 n2 E a2.清理缓存命令:
* k0 D/ S5 }3 ]+ H) S+ g# B. H: u q4 I$ _, B. C
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存' M X/ q- @0 d& g% Y. e# h
' h" ]$ K* Z1 Q, V) f6 x
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存( m- n( m; `7 m2 L
5 b2 N4 L- `2 aecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存
! @' o8 v/ j+ ~
9 a* s! E: Z, w3 m' [注释:
! S& B1 p2 W. [4 Z3 U% o6 p6 A4 [- Q% N/ p
echo 0 是不释放缓存
5 P) K* g9 J4 N4 j
2 ]+ D7 Q: E* N* hecho 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存); h7 ]! F3 b0 Y) K& n" l
: t2 Q2 D) K) i5 K8 v! P- j* ?2 Yehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)1 F2 |2 F1 V% P" P; Y
! p9 W- H: r0 Fecho 3 是释放 1 和 2 中说到的所有缓存2 T& O! c0 N# _
$ c/ B+ o4 W( }
b/ M. v, N! [1 E7 o& ]# t! X. x- S# k2 F2 L0 E
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|