|
linux系统该如何查看内存使用情况以及清理缓存?+ c0 T5 x0 b0 Q7 b5 ^' |
$ ]: ^5 D, Q3 q& L# ?4 Z: A4 Y
linux系统该如何查看内存使用情况以及清理缓存?
6 H; O6 z, ?$ X" V1 S' A* K+ Q: S+ r; _4 N- R, }: }
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
0 S. s9 M% I) u) D* g: }. o- X+ B# W3 C/ I) }
1.查看物理内存使用情况的命令:free -h
* O0 ]) q5 T8 T
& i5 D, G4 y4 Z/ Ototel:机器总的物理内存;
# ~* X4 r, K F2 ?/ B( P" x2 P/ q$ ]! p+ d) ^ K& s2 O
used:已使用的内存;6 I0 l1 L9 Y2 q9 y- ]
+ T- `2 B6 L3 }0 q) {0 b; M; c
free:空闲的物理内存;
3 ]- L8 \6 K! m" U" d5 m5 [- {, O
/ y2 f) ?9 ^- k( N* {/ y! R$ Dshared:被共享使用的物理内存;
# b% `. Z4 o4 D; g6 }6 e, \$ n, ?; f1 [& O3 R
buff/cache:可以理解为缓存;
- e! F/ }$ S( n9 D
% X- V; x* y7 @& U0 R" l: S+ M6 M2 @available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。& j* w; a+ a' T0 R) S' N
* i- i' y1 v) W) L: D2.清理缓存命令:% W0 b0 r/ y+ G7 h
7 M# n% S q: ~3 N8 Hecho 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
6 A# Z8 A) V" ~7 N" O% b3 \, m8 {* v: u6 T) I8 K0 T
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
, b0 d# v* z+ u# j: ]2 V* X" l, V7 X+ F+ _* A- |6 F( {
echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存
0 u0 p& m9 [# B( E0 {+ X0 U+ j
- g! ~$ j, C' x注释:
8 L# D* Z& |" ~2 D e z" ~. A3 ^
echo 0 是不释放缓存& U9 N: d* }( k/ e
' c/ D0 r. i6 b0 Hecho 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
9 D! i9 E5 B9 x" H$ z1 [2 f' {
' y' v2 U; c: rehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)/ x, l: `: O7 O; B! c- W; [7 ~
* C! O5 `! s- J" p& uecho 3 是释放 1 和 2 中说到的所有缓存& g6 S V6 D! ^6 Q6 ]8 \
a& ^, `: a7 C% Q
0 a% x3 f6 d2 D! V. l$ A1 a6 F, Y: M. `* T7 F
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|