|
linux系统该如何查看内存使用情况以及清理缓存?7 o4 t5 Z$ `9 f( X; b
Y7 [$ w3 T! f' Y( g6 Blinux系统该如何查看内存使用情况以及清理缓存?
- L! n2 V5 O( N! h8 x6 ~% A$ }+ `" S6 X: @
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。9 p+ ]" ]# c- u& f* P
5 b1 N0 {, e, W
1.查看物理内存使用情况的命令:free -h
+ d+ @: U& O4 y* w( r9 b0 n4 j
- `9 S) x; F! g) q: etotel:机器总的物理内存; w6 e/ _$ ]7 @$ l( [
8 G( h/ S9 e2 v- \used:已使用的内存;
8 ~4 k6 \& W) A& x9 G+ H: P0 E- }9 {: y! U9 I
free:空闲的物理内存;, N; J; R3 p; N; g' `+ q8 Q
. s$ \/ ]+ A- o" I( }9 ]& c- ~8 Wshared:被共享使用的物理内存;
, T- i$ T( ^; ]& t* S2 S2 z& r9 K" Q C3 O8 Y8 B- a$ E5 _
buff/cache:可以理解为缓存;
& i5 C+ _# _ b
3 u# b8 U3 f- s' }! Eavailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。' n% N4 X6 Z9 a5 z- v/ h8 Y
, W0 B e5 b: } k; P
2.清理缓存命令:
- `8 { p4 C7 O& e: \( B, {3 ]5 E7 P% n/ E2 ~
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存0 j0 w$ k( m6 c. K4 L# O4 z0 o! v
7 ~" A: I7 ?4 P! F. c- q3 Y
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存- K, n% E9 m$ M5 v' w, G1 g9 h
% I% U1 \. ^8 B" v
echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存9 m! \1 m; w2 K( n: U. K+ G9 M
: z2 ?( _( l2 h" y1 [0 R
注释:: D( t% P5 b0 E; ?: V" y8 u
! Y0 E. O3 k4 Uecho 0 是不释放缓存+ k" ?+ d& i3 `( \5 j2 r
8 d2 W8 d' e+ V0 X1 C) b# G) _1 Q: \" V
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
4 k) g c! f ~- W! O3 \4 r$ O, I- M8 m& ^! [) }
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
$ A* ]& W8 i- P, x C, f# f& Q [8 o1 `& a% b; S
echo 3 是释放 1 和 2 中说到的所有缓存
- V4 f, Y0 J/ y0 v% N. t: A# v$ X( m! M7 C7 ?+ e9 v" C7 d
8 m+ [5 ~5 X" l/ n$ i
% M/ m# z2 o: |5 y* C
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|