|
linux系统该如何查看内存使用情况以及清理缓存?
4 U- S+ [9 }3 f6 r' k- T* B t0 S v! J* G6 {8 N( L- b+ A
linux系统该如何查看内存使用情况以及清理缓存?8 }4 _3 o& o+ X: x6 @& `9 n2 Z) H
; o- z8 ?; Y+ P) n8 r有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。6 S: b% o; s4 F1 d$ g x% C8 ?
( z \8 Y1 X8 V1.查看物理内存使用情况的命令:free -h
& F, W4 \: ? S/ _
9 u2 X- s; c3 v. }3 Vtotel:机器总的物理内存; r1 K/ q/ K% V
5 p. {4 p% u4 Y7 E4 P0 o) kused:已使用的内存;
+ J& a( ~9 m, @
4 q; [, t# w6 Q% B( ufree:空闲的物理内存;) a# [9 O: b# Y [) t0 m c& Q# ?
6 ^0 i5 w+ Y+ Y) x* y: t" Eshared:被共享使用的物理内存;
. R% I# u6 b ~5 i0 B( b1 s+ ]; \; L
6 p( Q o1 W0 x) p7 abuff/cache:可以理解为缓存;# U) {# f" ]/ V; d2 r: h2 N+ F2 D
( H G: i- i; X$ Z: U$ i
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。9 g$ `. c4 T2 ~ P7 R+ z
( M5 \, E6 s# B8 L8 V+ T! g% c5 h2.清理缓存命令:
1 g/ v! d+ k, Z, y( D2 {1 l+ C$ R/ T! Y
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
4 m2 V/ W B0 b v- q. O% ], |* O
: ~* w! B. o" i0 i- Mecho 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
4 b) \! p/ J. q$ G8 n
: ^5 v9 q, d) c8 y0 ^, i5 wecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存) Z, W9 B, Z; H" N- c3 L
3 ~, R; O3 s* b注释:% O4 H7 U- y, g& f6 G R$ z
) C' ^( F# t" d- ]" y7 {; A4 n
echo 0 是不释放缓存/ J- o+ f8 }$ ~5 Q. S( B
% @( y! y! K2 @$ L$ Secho 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)# `" ^" V0 F7 E# w
. R# _; c0 S7 Z7 Oehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
" m. ], f; _9 z" [- K/ F$ f. ?; ], o$ o1 V& |- ?
echo 3 是释放 1 和 2 中说到的所有缓存
9 z* K1 R! }* r/ n6 c6 t, p: J$ a
& ?' c3 Y$ d' `+ E7 a8 T
7 w& ?6 d/ X4 Y' C1 @1 }4 N) N: N. f- |! Z! ^/ U. X. E1 v6 S
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|