|
linux系统该如何查看内存使用情况以及清理缓存?
$ ^2 l* T7 w4 v% ]5 Z8 d* U8 b# s. C. @
linux系统该如何查看内存使用情况以及清理缓存?
+ O9 ^! P R) s/ c6 s: q6 }, z
9 d, d9 o4 ^" a) S8 L有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
8 i& s; T! S: u7 g8 h! ?$ h* x% s6 X7 I& }
1.查看物理内存使用情况的命令:free -h
3 J2 o2 s7 f O' H1 r/ h" U" K- ~7 o, W- M4 Q; u6 p
totel:机器总的物理内存;. U- r" K9 K2 t$ ]$ Q9 U2 d! I
( K+ \4 @; ]6 \) _. \" E3 P6 z, Fused:已使用的内存;' }" B8 J) j- @
8 Z6 V4 M# Y# r, \1 c5 l/ cfree:空闲的物理内存;
5 Z: p8 g4 p! u6 `& j% h
' Q; X7 U% c. k" p N' Fshared:被共享使用的物理内存;) T) [2 k! A3 Z! v. B* G: i
! ` }" _- P3 [9 s; q
buff/cache:可以理解为缓存;5 H$ b/ C4 c d3 m0 \' V
+ j, Y5 i* g! i6 R* Q0 o7 ~& Cavailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
; ]5 t- b3 {0 \* l8 A
; D& }! M b6 f! }2.清理缓存命令:
! r0 W+ p, Z7 j4 u% Q
0 F7 n% G. V/ i$ r& ?echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存0 y! c! I4 A1 P; Q; e$ K! O; ?
, {/ Q; `/ J7 n- h$ l% k5 secho 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存$ d3 S/ h/ a$ N" b5 j
+ X* E/ a5 y/ n* ]echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存
3 h+ R( \2 b+ j$ A+ P$ s0 m$ K/ }; }7 O$ F' S" A
注释:
' m; D; E. i! F n" e
' q) p! @+ @" ^* z/ ^2 |, w& N$ kecho 0 是不释放缓存- B" K# R! n+ i: e G. n s/ R8 [
- ?" ]: e9 r1 _2 v, q: {5 v7 @) h
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
4 w) W5 r1 w7 e3 N8 r+ O( j! G U! ]6 Q
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存). v7 X, r3 [- l) M; y" L; I
8 g+ t# o! f" Z/ f) q# m* yecho 3 是释放 1 和 2 中说到的所有缓存7 X; Q+ I% B" ~4 |" m9 N2 y
& }, y0 z3 K3 H9 O0 \% ?0 [9 g9 q* T1 W8 n
; ~7 O3 L2 |5 P& b r原文连接:http://www.szw86.com/thread-8891-1-1.html |
|