|
linux系统该如何查看内存使用情况以及清理缓存?
8 m" f( v! D# V6 Y; p3 c7 `7 G6 K7 X( p- @7 }6 _6 q$ Y$ P4 _" w
linux系统该如何查看内存使用情况以及清理缓存?9 G' P% Y3 Z% I. R# l% s2 n
{( Z, _6 X( ?4 ]3 v有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。& l, O3 x- `- w& b7 t9 V S0 x
& ?+ }9 T, u$ t* o8 G, d
1.查看物理内存使用情况的命令:free -h
; \6 g! W; I5 D$ o: E- s% x
5 ^- C$ ?8 P7 [' i* _6 a1 Qtotel:机器总的物理内存;. L0 _0 W& I/ U% P$ r) K# W
; _0 t( E) R2 M/ K/ A6 J3 t2 x1 i b* |used:已使用的内存;
( K q. A: q& L5 [& ]1 e: Z1 V+ f1 v! T0 a& k; H* R
free:空闲的物理内存;
0 r1 Z& X7 L" ?$ i5 [; p! a, ~6 l* x, Z5 D9 v5 K* V
shared:被共享使用的物理内存;; ]- r; |# x' U" d
& u8 w( f r) r8 abuff/cache:可以理解为缓存;
/ D4 L$ [2 \; r; E3 \
0 \/ D+ Y0 n1 |; l9 c/ Ravailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
7 x" j8 O& e: Z4 T6 H/ V Z' v
! q& h1 R$ V y# Q! G; m* z2.清理缓存命令:
& U, x8 \! F- {" d/ a- f1 n& o1 m. d3 A" v
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存$ C8 T# s1 O- D7 h6 q+ A# x8 u
0 g5 b% B4 D! ]- [0 @8 K
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存2 T: x Y" `. y/ ]
" c6 g+ \6 G# P" e* ?$ A/ s, oecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存0 [6 O5 |/ l) k( q
. ]7 i% k- W; S! x$ b% X
注释:
, f& R3 ? \9 ^ B/ d: s
; q, }5 z9 M) M4 h/ Z. n2 \echo 0 是不释放缓存
| f$ q- P1 a/ `- i" m& R; F# W/ @2 ^
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
. @' t4 r/ T( B, s5 {3 H) ^
9 l5 [) i5 ~, h- F, p/ Gehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)& P9 N6 M& t5 ^' K) z6 o ?2 M
e' [9 a1 a% B8 {# n/ @- X
echo 3 是释放 1 和 2 中说到的所有缓存7 j( H h' Z' b# w+ U7 }2 ^
7 H+ ?0 I( r# V. _* t: S$ v
8 u$ E/ S' _5 O) e/ i: h# p" X
; i' h1 V+ U8 B8 }( j原文连接:http://www.szw86.com/thread-8891-1-1.html |
|