|
linux系统该如何查看内存使用情况以及清理缓存?
2 k `4 [, U% L2 }) b1 z3 z' n% n. K$ |* I2 r- Z0 g$ r5 [. K
linux系统该如何查看内存使用情况以及清理缓存?
2 ~0 s; T" G) x/ I1 w8 B L, B/ M
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。, z8 `& z" M+ @! V
- e8 P% g1 J7 `, a
1.查看物理内存使用情况的命令:free -h
" m* a. v* k" Z" g* A3 R9 N
5 v* V& p8 k! E* o4 a5 Atotel:机器总的物理内存;
! J+ r5 X9 R A ^( C: N8 p
2 P! [" y) w, Z8 w6 O% b. ^used:已使用的内存;
1 G) {5 F+ V7 s* d2 u. o: P
) r& r3 E! s; W/ h) |0 yfree:空闲的物理内存;
; ], ~; N9 C% r4 u( X% f9 m3 q" |0 |7 D( S' v
shared:被共享使用的物理内存;3 k) w$ a: z2 W0 @5 n5 s+ u+ R
0 M) ]( ?3 s* M4 Obuff/cache:可以理解为缓存;& d& o* h5 D# d/ W
% @5 z1 T6 i& @( t; z; b) U
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
! ~6 L1 u" Y+ ~+ l: z, {5 ~: K+ S/ F% h1 ~ O' @; y8 p7 ?
2.清理缓存命令:3 Z* S0 U9 ?1 M! s
0 d V: z* |! [8 \- q$ C
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存7 \ Q- T. | F3 {( N3 I. C
" R& Z& Y) V9 ]* j) F: R; Vecho 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存% U) R$ B2 k6 q0 v8 ~3 V
" {* ]/ p0 P8 \5 o1 R* aecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存2 h5 q+ c- K6 T* }) [+ j* x. @
7 l# L7 {) `8 e! z- M1 Z( V* v
注释:# G1 A: i2 S2 n! m
3 m) c6 }2 n! A( R3 W
echo 0 是不释放缓存, N. W: o) u- @+ T
+ X- g! Z, t+ X! d" q8 e7 Mecho 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)" _- h# |% F; F$ L0 q
/ H; R: E9 Y8 I6 s" f6 y5 J' \+ U# X/ vehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
6 G, M t8 j! y/ ^( i2 a* L
4 q: a2 i8 h) }! \2 Q( Q7 gecho 3 是释放 1 和 2 中说到的所有缓存# H% j2 z# X. R6 L2 e- n# ?! n
0 H' }8 {! {( d8 ~$ [# t
( K, U/ Y+ d0 k
: e3 P4 A. Z1 q- U, \" e5 G& ~原文连接:http://www.szw86.com/thread-8891-1-1.html |
|