|
linux系统该如何查看内存使用情况以及清理缓存?
- A/ v6 [. h. s! ^
: e( S" p- p! } ]5 C6 qlinux系统该如何查看内存使用情况以及清理缓存?2 M$ `2 M% r# \2 D! ]* Z" c/ k
* _& I' u( x/ k3 a# Z有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
1 ~6 b# I( y5 f: a9 h
6 b o* W5 G! i3 U }1.查看物理内存使用情况的命令:free -h
+ C2 a% \, Q- V$ S6 a- q- T9 R9 M
totel:机器总的物理内存;- B1 a, \% K4 Q& N$ r# e
7 X+ V/ G0 I8 pused:已使用的内存;
/ n. j9 Z# b, M2 i* j9 H
' e! ^8 N2 [/ wfree:空闲的物理内存;7 h6 I% I. P" \: H% B. J
0 z r. F+ l$ ~5 ^
shared:被共享使用的物理内存;
0 K" W7 Z) t2 f/ c6 D( ^/ t. p* o) h. J
buff/cache:可以理解为缓存;# m" F# c r; ~7 a6 P
( M& B! g2 w4 b* X' H
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
3 c: ~0 U; x- W" y+ o! U1 Y! M# m( A) k1 ^" M- |& c/ H
2.清理缓存命令:
9 P; @' D) m* f: t6 ]2 d
/ @# m& \# N3 v) l! aecho 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存4 b X. I1 z' _3 _: n0 X
& |3 a4 e' B' c0 l x0 \7 y) C
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存5 k3 |; R7 b/ v" L
$ O! n |2 s/ [3 i5 e8 ?" k8 Decho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存
3 t8 w* H: f! L3 g3 o6 v
- H& u5 a4 _4 d' _( b( \9 T注释:
/ m! W% z/ N: C2 L4 s4 m6 e
5 g, f7 ^* N9 J8 y/ u) B+ lecho 0 是不释放缓存
9 r/ k0 C' _% l8 {0 p* B3 F4 o) ^: E* [* g
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
1 f, c* _7 u2 o$ h% Q% j
' N5 I3 S) T7 ]# l6 n! Nehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
5 u2 ^: I# N& W4 }! g# d
' E. w' I) x& r) m" techo 3 是释放 1 和 2 中说到的所有缓存
/ ]+ c( |- p+ g- w& D3 t. n8 G& u$ T
8 E% |( ~* O% }# Y) U% B' G# d; m, j% x$ s% K/ u
( L* Z9 v2 {% z, G原文连接:http://www.szw86.com/thread-8891-1-1.html |
|