|
linux系统该如何查看内存使用情况以及清理缓存?
2 W# |* j" _3 m8 b7 r A7 p) B' U5 A2 b) L/ m) ^. C' D
linux系统该如何查看内存使用情况以及清理缓存?* o+ @* {3 {+ t8 p* f+ Q
4 M4 Z, q. Q: S. Q1 M$ x! X$ p有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
# K% f; E) h. Y8 d/ B
9 z1 p1 E9 m7 D* U- _: ^1.查看物理内存使用情况的命令:free -h+ F4 `1 U. n2 q z) ?; L3 h
2 n, j, p, G$ U$ {; p" Y
totel:机器总的物理内存;
2 h+ X7 n5 j4 c$ p C# s
8 K+ T2 I: y3 T2 z8 E# A5 r; {0 Cused:已使用的内存;
; |' I5 @5 I$ G- ~( E3 b9 U4 I
1 O8 y( k3 O5 |" \free:空闲的物理内存;; v P* \- |% q3 G+ [9 n( X
6 _% Y) D6 {6 Y* t
shared:被共享使用的物理内存;, B! W# V, S" l4 k4 E/ D5 z
) z2 Q* H9 K! M3 R7 L. lbuff/cache:可以理解为缓存;
; {! X# V: P5 G% ]- m
s' K; G0 `% Z. B7 Q9 u& k" Gavailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。, U$ O1 h* C0 r, S G8 b4 R
0 m! O0 E% G* L4 n2.清理缓存命令:5 M8 j: h! y, i$ M: l: g
0 @$ G3 `' I' L( i1 w+ `echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
' [# q) o: b5 k7 x$ t+ p
* s! P; t1 B% j$ }" B' |# Kecho 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
4 V5 O7 a( V0 R7 `) S: c" e/ W2 X: i3 a, u. Y
echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存
" g: x5 x- z4 k2 f
4 B5 e5 \- v) R( t8 A1 c7 p7 s+ l注释:7 B! F: |# E* d0 X8 N8 A
5 o" U0 {6 W ]3 c( b. }echo 0 是不释放缓存) I0 m1 R r; A7 X2 j) c
# t2 V$ ?+ ~/ ]- g; H
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)' j) a$ R- {) ?% r- q
# ]0 K! g% ~1 s( o+ Q- H3 L
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
% L9 i% ?; b5 v; ]
1 a; x+ d/ {, Y' U( secho 3 是释放 1 和 2 中说到的所有缓存
% o+ @* |6 c8 |; Y- u8 G
- K: J5 Q, ]& S! n$ U
' T( p5 Q n% ^' q7 l2 a
4 ?7 _4 g" H* ]; @/ E6 x/ x' M原文连接:http://www.szw86.com/thread-8891-1-1.html |
|