|
linux系统该如何查看内存使用情况以及清理缓存?1 z2 d$ B. d' A
& @: ]1 G+ _' R- P$ ?: U: qlinux系统该如何查看内存使用情况以及清理缓存?
: Q4 ]2 L3 p7 u1 {% x. L
" U' W5 ?$ [" K& r7 c( i有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
. E9 X- a' K( x2 C8 D: O4 U3 w& L: J; Y" L4 c2 J- U; j
1.查看物理内存使用情况的命令:free -h( j8 n3 F; G! }. d
& a% Q1 a( U9 }! y, J
totel:机器总的物理内存;! D" R: W0 v, p' K% |
+ a( [9 U) u+ }+ P: vused:已使用的内存;! B: y4 b6 M* y. t+ J/ k1 n
8 i0 p7 b4 m" \" Q, ofree:空闲的物理内存;
5 m4 x- v: _8 L8 _. V9 G, W
9 L! a, Z( A) X8 U- `" C( @shared:被共享使用的物理内存;
% A! b* r7 |- H' [! M! F! O0 f. C" G' e, f( \
buff/cache:可以理解为缓存;
% O* u( M4 s# S+ |" R0 u; L
/ z0 m) `" o4 Zavailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。1 K2 |6 q. G; c8 X% E: t* _0 s0 Y3 p
9 [, g8 s, o3 `8 k. q( m2.清理缓存命令:% C6 B; q/ R* O6 C0 }
; u8 `& g+ G" x# M+ } ?echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存4 u1 n( h" l( T! S; G7 {( K$ f
. l1 \/ h$ V7 v) N' T
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存3 n2 V+ u# n i2 Z8 G' t, H2 w
4 V5 ^9 b% b3 Mecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存
( {" _# Q- Y R* C: s
/ c* E0 D* m. a0 Q3 X/ `# O注释:" Q* \- T4 ^3 c b3 e; E% e
9 g# z3 U: n$ d$ U& X% s
echo 0 是不释放缓存, V+ B+ k' o% ?: r8 ~" }! W) V9 o
; `* ?& o1 N3 l8 D/ qecho 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
+ [/ ?0 h' n# } L5 w+ S! ?5 U/ N2 b9 O* C
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
$ C2 ] r2 n; O0 ~
6 G: _1 n+ L0 m1 @+ U; n. N! V9 N$ { Yecho 3 是释放 1 和 2 中说到的所有缓存( W+ u V6 J1 R
/ L# d; i) }0 M7 u, |
# ^2 Z4 R& Q) v9 l' j3 j9 Q; Q6 s* o' q
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|