|
linux系统该如何查看内存使用情况以及清理缓存?
% i2 V' ^8 F& X5 T% X3 h3 O- l) Q& X0 C A
linux系统该如何查看内存使用情况以及清理缓存?
6 Q$ h& ?' l3 B
3 K, M( o4 I Z有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。& |% Z4 O B9 P {' @ S2 J
/ P7 ~5 F; z' j1.查看物理内存使用情况的命令:free -h
. S+ Q1 o+ r% Y* O M$ j
2 f0 I/ `4 f, h# K0 Q9 ]totel:机器总的物理内存;
; V3 C2 \+ A- x
; L2 p1 ~. y; M$ i+ Lused:已使用的内存;2 I( u1 p; m$ T( t
& `$ G( B) o( X: e8 H' R
free:空闲的物理内存;) u, l, I9 x" e
+ m z; H6 X& x, \* m! r
shared:被共享使用的物理内存;) ?; a1 z) w! m4 V/ q4 T
0 d4 E# Z% }' c3 c1 G
buff/cache:可以理解为缓存;! ~4 B" o0 A+ N }, E! A& m; y
, E# P0 D; N! U3 X$ y. R. |available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
/ y' Y3 u" ~$ j5 m9 C0 u" W$ I3 i' R# Y. V
2.清理缓存命令:
$ T8 c+ ~! M" n1 L9 t, V2 K& I
' W, u5 ?% [: h$ p& aecho 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
~# N+ T" b) \4 d6 J2 L4 Y
4 B2 P i0 `5 v& D6 I$ |. }* secho 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存/ s- F. U5 k5 E# ?
. O' R9 ?% Z- C- y% @4 {1 d1 \; E
echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存2 E6 A/ D# b1 ?& Q
4 [- G9 ^2 u L+ _) \& K注释:
: m! a3 y) ~" j" b1 I
! C+ l& c# S: P6 Mecho 0 是不释放缓存9 X; x) i. l# v' B8 L
, [9 d, N, Z% o2 V7 Hecho 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)5 S% W& K4 `0 C$ l0 C
: X3 {" D/ h, N& G8 A7 L* Y! yehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
0 J' ]0 }- v, M
* z6 M& S1 c* Q7 ~echo 3 是释放 1 和 2 中说到的所有缓存5 r# i) M( h/ `8 l9 o$ F
& j8 j4 b4 a3 @/ x0 j9 z6 D
& C. d5 q6 o2 K- h1 p7 h$ t
$ U5 Y5 L' i1 H5 b3 x6 e+ @0 I原文连接:http://www.szw86.com/thread-8891-1-1.html |
|