|
linux系统该如何查看内存使用情况以及清理缓存?3 B/ X7 t! L" \+ S! {2 t5 p6 ~
' S% T2 O+ P1 [. G& t' \* j1 clinux系统该如何查看内存使用情况以及清理缓存?
9 G- n* g7 V3 }
+ S$ h. D5 N0 a" ~0 ^有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
! s' H, I& B- F( q, l, I: o: Q% H2 W/ o: n: T+ a( |2 E
1.查看物理内存使用情况的命令:free -h
9 C4 \. ]$ n8 L0 K# t" X l. A0 l. Y7 B4 l, y# S9 f, K( ]
totel:机器总的物理内存;
5 j5 ?% \5 m: e
. E7 U' m% S9 u; n; Oused:已使用的内存;
0 k' r5 \( @/ @/ y1 Y. G
) ~' p4 a; j9 p. P" Qfree:空闲的物理内存;
/ a" `( M; D) i; ?, s
* y( t! D+ R. o2 h( A& i) j$ |shared:被共享使用的物理内存;
' I" s& h. T3 L4 @0 N# ^8 P" V
2 R7 t$ @ t& B& z" f! Tbuff/cache:可以理解为缓存;7 P: w" U5 k3 l. q, a l" I7 V$ r
& b6 `/ ~" u8 Z; z
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
0 u! h: H8 \, T' S, L8 ^" s6 ?" u0 B0 R4 E' H T. h- }( `1 B
2.清理缓存命令:
4 p3 ?+ Z- E% E, B# I9 j+ y. w1 M: x) E. I6 Y4 j6 b
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
# s* a/ P z+ r, _# J
% y R$ u, H, X9 T/ X Iecho 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
; e) C$ Z7 p) D6 Z n- R/ w- s5 x- R
echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存& Y; b# ^* b: y. m( L6 o
- y+ P3 L% E% W. Y8 p
注释:
6 t1 L3 d! J1 J; Y0 f8 s1 {( p7 G1 R) [" d) l& c Y8 S
echo 0 是不释放缓存
& h* J; U; q4 l1 l1 y$ k9 w0 \) l6 @
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存): B/ S m6 k2 j& d+ c6 p
! g. E) P; H4 I. v# x( D
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
' `6 e% N3 z k# r) E+ t1 S
$ ~+ s; O. U, C9 g: L0 }8 Eecho 3 是释放 1 和 2 中说到的所有缓存- u- U* M5 C0 e1 b
1 W! S) j7 L0 }# N: Y/ a9 M
. j5 J2 ]0 q0 O: c, I
/ X# ^( N% [4 E }原文连接:http://www.szw86.com/thread-8891-1-1.html |
|