|
linux系统该如何查看内存使用情况以及清理缓存?
# d! u! F, f) u. C% k9 `5 C; K
5 ^' C- m5 z# @linux系统该如何查看内存使用情况以及清理缓存?
( q2 K" T8 n1 _2 j* B9 x* K' s3 i2 u9 Y
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
9 ^( j+ j' o" M" s7 F2 d5 z' }
' }/ g5 {9 \4 B5 [; n# u0 G1.查看物理内存使用情况的命令:free -h- P$ J/ |8 S4 K8 y, l* f
8 L" m. f7 o& c1 n- `5 n( [totel:机器总的物理内存;
c* I$ ^+ b& ~
) h6 J) D4 \! p3 S6 lused:已使用的内存;7 B: L: ~# _3 ^3 \) M7 G% ~! a
! ], S1 G* E9 \+ q ^% C6 c! H+ h" t Y, lfree:空闲的物理内存;
. a) U! e5 [( @- S2 g
' b6 g# ?8 r) }, P+ U" Y4 ashared:被共享使用的物理内存;/ S: z9 e7 N0 z% p+ n
' M6 _2 c6 R+ w" d6 C
buff/cache:可以理解为缓存;, g: G/ |: G3 d+ V( q- B! E4 y+ \
" n7 ]' P! q+ |0 U
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。; q2 d* K5 O7 T' o4 {
0 U9 U8 m& l& Y" u6 a9 U
2.清理缓存命令:* }: O, \0 T; n$ X) i
1 V! M+ _) M% Z: F' K0 V! H* d
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
. e+ G: P8 }' ?4 [$ |' J1 `2 v
+ i/ M& ^ x. I# Becho 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存; N" @- C; X- r% s
' l% I+ [7 A4 ?3 s9 wecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存# w4 S$ Q5 P+ v9 k; R6 q
3 S. q, b: v9 o" B' P8 f注释:) H) `, a* p: u1 B% u
/ M( [% R/ p2 n6 { Q3 j3 Secho 0 是不释放缓存
( L2 |6 n8 x! [& [( c) U. u% c F4 b! F, T% E1 X
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)2 n. Y( |! ?3 ?/ v4 F
. R, S4 D$ } Y2 _: }# h" wehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
/ A3 _0 P, c m5 G3 N! k
1 m: l0 C& D6 B! kecho 3 是释放 1 和 2 中说到的所有缓存% ]( |) U8 {/ \$ p! {& c" L
4 e% f i. `" Y4 x" z) a
6 ^+ `9 e# R+ ~+ f2 Q, x' [- K
' O7 F( S# E( @- W% _原文连接:http://www.szw86.com/thread-8891-1-1.html |
|