|
linux系统该如何查看内存使用情况以及清理缓存?
3 o" W0 F- T/ p* u( a% v+ U, a; v4 y$ m2 M
linux系统该如何查看内存使用情况以及清理缓存?
7 u9 d5 `9 k% V' q! y% T! ^
4 X2 e/ Y' G& ~4 w! g5 Z有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
3 `* j/ f' o- E/ i- o
8 n& F" q1 k' D2 Y/ d9 h. k) i1.查看物理内存使用情况的命令:free -h, I, E* _! i6 D& z( @
4 P$ G( l" X: [7 M; P# d+ Ktotel:机器总的物理内存;* M; Z8 G( A& {
. L! Q0 C6 p o6 W+ Rused:已使用的内存;
4 d- D5 \# i( H) z# i) \; [5 D1 O! R8 E- p8 l8 _8 e& ]' @$ q: S
free:空闲的物理内存;
! b, m5 x. y7 e. s. t/ V8 D5 X2 Q) ^: _9 g
shared:被共享使用的物理内存;7 o* O3 i2 v8 o& W& f% }) \) E+ [
$ c, G0 f0 d' I9 X; obuff/cache:可以理解为缓存;) ]% P& @; v- F6 h, D/ P% S
1 B9 B, a6 g7 j7 v( z, v; zavailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。9 E5 z1 @" |& \1 ?+ [
7 j8 i- g* e0 y! m" {/ Z, I _2.清理缓存命令:7 m8 Z( o j1 t! m6 d
( y! V3 [8 d. X& o+ i" jecho 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存# `( k4 B4 k) J3 D0 J
G: f" v7 E( V$ _4 V% Q* J* z9 f/ Zecho 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存8 Z5 F* {% C) W+ \
+ E# x; N& [# J; q) i7 v1 q; g r, \
echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存+ X4 L' \: n w9 r
" G6 F" n8 H& G' H( ~. Y9 a; h4 r
注释:
5 a5 [0 W. ^' {3 K$ r
1 B+ U. e- B& T k# n8 H2 Secho 0 是不释放缓存
& ^. x, g1 c" E( ~) x# }! X4 l! R' G& @4 p8 U6 y1 y
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
& g- w3 t) o0 C- u* J5 ?) J. r" g! v W
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
t( F5 | _9 y: ], B7 D* x6 m% f6 {/ y
echo 3 是释放 1 和 2 中说到的所有缓存
7 N; _8 c7 o B3 e( s/ i7 I) P- R4 b f) P7 b& [& V1 n. _) S3 K
- M. K2 K/ R0 z. E# X
, b& E; k: P( ^8 K) s) R9 D原文连接:http://www.szw86.com/thread-8891-1-1.html |
|