|
linux系统该如何查看内存使用情况以及清理缓存?
Y" M, d( q9 H' k, t2 t7 w \; ?" s& z& V
linux系统该如何查看内存使用情况以及清理缓存?
7 P1 H& l; O5 Q' t, y f1 ?4 J4 q+ @7 y' U
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。+ G" ~3 Z3 |2 P9 f
8 d5 ?. K4 V9 ^* m% x1.查看物理内存使用情况的命令:free -h
0 I3 i2 M# G% |" P. e% y' I! @; g2 Y2 d* u7 I
totel:机器总的物理内存;( D* S+ l% F! d! v
0 K9 f: l4 G& t) r
used:已使用的内存;
( S1 W# i/ |% D3 X) u
4 Z5 @: B3 E6 _( u% ~/ L$ tfree:空闲的物理内存;% ~6 O: Q t c+ j; |
. R" M1 P& o% ^. `. u6 w
shared:被共享使用的物理内存;
# I$ q% l2 s: q" U
6 p: \. L; a3 j- }buff/cache:可以理解为缓存;
5 G8 s. ?& T4 O3 O; B
9 I/ @& r4 |/ y j# e& S( bavailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
I7 q9 ?; f3 U$ `1 `4 Q1 B: ?1 A7 Y, s* O5 C
2.清理缓存命令:
4 s% o/ G2 ~1 N( X& Z, w4 e/ K$ B. k- S. u+ h' V
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
5 b2 r+ k/ k$ A* S- ~
. ] D9 M4 c- M/ Y2 q5 Wecho 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
8 M, E, U4 [' H; x( h; A. x2 z6 N
. b$ I- C ]4 y' `echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存2 J) x* V2 k8 N3 G) C
, {7 s6 H0 q* C4 w3 Y
注释:
8 V- \" N; ?4 A" a6 b
$ T2 U4 g% T. M- K& p- Jecho 0 是不释放缓存
- C3 @! A: B9 }, Z. H% X
( D" ?& s P2 Y9 Xecho 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)2 Z# l; B. J' D5 m& |
9 p$ x+ @' b9 z$ G ` h: jehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存); v6 g; @& I" Y$ T! \. ?/ i0 U7 S
" o {' P; I/ p: c3 T+ j
echo 3 是释放 1 和 2 中说到的所有缓存
8 E: O8 p: ~+ n, [; y8 y+ z, z4 S6 b, L; }: u8 S7 c7 ^) b* [
% h% z9 z1 g y: M9 i I+ }0 B& Z" C! x }& J
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|