|
linux系统该如何查看内存使用情况以及清理缓存?
& W5 x7 ~0 j, b/ l) F) ?. N' s0 w7 J" y8 q: [* ~0 |7 E
linux系统该如何查看内存使用情况以及清理缓存?
" L* Y1 m6 Y& x, L
' A1 K$ g- L! p有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。" c c5 t5 z* F# X# g
9 C Z* x% ]( Q1.查看物理内存使用情况的命令:free -h9 W# h1 d3 f* Z! ?% g( e8 A3 ^
. B" g: O$ f$ m
totel:机器总的物理内存;0 c- o; X4 R6 ?6 Y- Y4 t
7 _, H" e5 R( d) L* Gused:已使用的内存;
% j) q2 L* b' q6 D2 B4 Z
! M2 M; Q' W5 i) Z: yfree:空闲的物理内存;3 y. Z! Q3 v j
. w4 ~5 o; M' a
shared:被共享使用的物理内存;0 B0 o Y8 a8 |+ [. U- a
$ q# v5 r: K+ W/ R c
buff/cache:可以理解为缓存;7 h5 L. j9 q% |" \) r: s$ J, Q
, U0 u4 w y7 o7 R% i7 O! H8 Vavailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
& x4 R6 ?# ~0 \7 }* ?* A. D+ O9 l( D$ P& Z
2.清理缓存命令:# U6 i, C: a+ a
6 I, S3 i, X; n' z: O
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
# T) n* \& R! a6 R0 s2 y0 M1 @
1 n0 n' R! l- k/ H8 `echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存. D$ ^+ y: O+ \( d: ^
" f" @/ t& d# e2 @5 z
echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存! q' }- @/ S# r1 m) p& l% n
4 I. Y2 a7 d9 f4 l
注释:6 _% ]$ T7 v; l+ D5 ` V
3 J* I8 _* Z2 w4 @ H. P5 z- E# H
echo 0 是不释放缓存
, [. V0 n6 V, |# [2 H6 W1 b$ f3 x
* M0 F5 J( b% }+ O2 Recho 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)1 S: Y3 u1 i, d# B- a, V1 d
& s p9 v; L q# T' s9 n9 _ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
G" v8 g8 a) D) h( t7 r4 O8 k; Y' B& ^: R! ]4 E( n, U# O9 C
echo 3 是释放 1 和 2 中说到的所有缓存& h" s2 M( j5 P; j9 X5 k
; _2 M8 C) R: w2 M
0 @, R" |2 d0 x* l1 L& u4 B/ v! ~+ ]: m' k$ ~& e
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|