|
linux系统该如何查看内存使用情况以及清理缓存?$ P* ?! @$ [. C& f+ B9 w
! s( Y# l$ ^ X: [, Z
linux系统该如何查看内存使用情况以及清理缓存?7 e. J- M/ T0 ?5 O! |% O; c+ u& E
) f. p) y' o; t& B% ?
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
, F4 N/ Q5 T/ e; z1 @8 I ]+ B
' ^% E; k: F) Z1.查看物理内存使用情况的命令:free -h7 |% w7 B3 B% V3 ?- G+ d& k2 y5 a
* z5 w5 u. x) r) V/ e7 k
totel:机器总的物理内存;* f6 K9 b# S. L) \5 o. T5 |3 V
8 S! \' c- B1 r4 Z. D1 v$ E
used:已使用的内存;
# H5 t! w& ~- Z/ J' r
' p, o. A) E$ e& U/ u- W1 Pfree:空闲的物理内存;
, W2 l7 U3 p( h; y3 E/ w
/ X# W& N) ?9 ?: g s6 Vshared:被共享使用的物理内存;
5 x3 c0 n+ I) r7 q( R/ O7 |& [1 E( z# j6 N4 F0 N5 [8 o
buff/cache:可以理解为缓存;# v3 m6 `5 O4 Z
8 J: A( ?( V7 c: O5 g) f- Y
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
7 N8 u* [9 N% V. N9 k/ n' ?& M) }8 {* C9 l; E- [. ^8 Q; R) O" e
2.清理缓存命令:
) x5 D8 U+ O6 X% i
1 w) t9 j2 c2 I0 s4 O9 p- Kecho 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存; I v+ [ p1 t
- L, b& w# O' R) J$ L0 V: K1 u
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
1 L4 r. J/ {4 _& m0 D0 q# b
0 {" |5 d$ \/ K pecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存( f' h$ m/ ^$ ~! ~7 g2 Z, S0 j
- o- ~) ?% ~2 u# w9 y! [4 ^; o% u注释:$ V; h% Z. W; L- s5 I) h4 {! j
3 u. \& J1 w7 v$ ^ l2 Jecho 0 是不释放缓存
- D& b/ O5 K# n% C G9 g3 [2 D4 D( e9 f N5 a/ p2 O
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
9 m, R" c" F8 v
* `; l* k3 G a. P2 z1 ~ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
( z& y5 y" a2 c0 L. [1 k
, G8 k" }+ Y2 \3 q2 Qecho 3 是释放 1 和 2 中说到的所有缓存. Z! T, h2 y! b
& e$ W! E3 x8 V. l
% h/ E- P1 B$ a! J
0 |- H* e" @6 z. D& a1 p, q
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|