|
linux系统该如何查看内存使用情况以及清理缓存?! s$ \: I6 y9 c1 e, |9 k! V, F/ ?
. m' b. X- o7 ~% E* v
linux系统该如何查看内存使用情况以及清理缓存?
5 o) l) i) i" K$ E+ Z7 e4 c: q; ~$ T* w# v
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。& }3 F; K o/ @! {6 n7 L% B
5 p' |% h8 O% ~5 B1.查看物理内存使用情况的命令:free -h
( {& Z) D. Q' X
, b* z2 \' b" M8 M* ~- etotel:机器总的物理内存;- z( m3 r' y3 \
( H0 ? Z- U# M# |+ I" u
used:已使用的内存;
0 _' \1 r% e) ~) n' g' j
8 C9 T" U W" y5 M" [- v; `* T; |free:空闲的物理内存;
. o6 Z+ Q. P% { Q! j+ ~; [# w: F5 Q6 K+ Z4 E9 Q8 ]) N8 D
shared:被共享使用的物理内存;
% n# {6 U2 _# {$ D+ Y5 D4 G X
5 {8 X G' @/ O2 F6 E) t1 }+ ^buff/cache:可以理解为缓存;4 `; y7 e9 d0 r' d
- b/ n) v/ D* Y
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。# ]' q, _/ _3 _# |0 U
* K3 a% T6 n4 A s7 I) ]/ _2.清理缓存命令:0 O) e- g5 F' y; }/ `, J
4 f% a/ R$ D+ R n5 n; C' v8 e
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
. s7 i/ x# R, G$ G2 d& D4 W' d. g0 _1 X$ s
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
4 E1 h6 w* L5 W$ |' }2 t- o! y8 h& X1 z8 D0 Q- `& y7 j' J
echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存
e3 E$ k" m; K& \+ b0 G/ S- p; J/ Q H2 V
注释:$ r) U! D' m* h- A4 N
# @: C0 r& r1 Y' S$ V' Qecho 0 是不释放缓存
~4 L6 W9 w# h( ?6 C2 f: \# S% d Q
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)3 C- V: |: _8 a0 Q; i7 B( C
3 Z# Y4 a, Z* t- Gehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)" f5 r+ x0 G0 j
t0 x, n5 F S# becho 3 是释放 1 和 2 中说到的所有缓存
7 X' d4 q5 s8 @( ~# S8 N
7 I. i1 f6 W, |' `. p1 `* d( R# I. L0 N
# s+ l- p( D0 b4 M# J7 G0 M- e/ R! D! I9 K
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|