|
linux系统该如何查看内存使用情况以及清理缓存?. x r. ~1 e1 P T0 i, Q
4 F7 v$ o, z( x8 m' Nlinux系统该如何查看内存使用情况以及清理缓存?% q: \! D# o, w9 Z, C) `
8 _- U9 [4 o( o, K7 V
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
+ c8 K6 s; k* E4 n5 N1 I8 z5 ]4 r: }; i- U1 f" L
1.查看物理内存使用情况的命令:free -h/ |, f8 u4 ]# i/ D* U) c
2 a1 t9 v2 s; v" T% K3 V1 b vtotel:机器总的物理内存;
! ^4 U4 ? R0 C) z$ n" I2 y/ s5 x5 v$ C* j* G
used:已使用的内存;; k; ]; X+ x `! j9 H3 x
" Q/ P' H3 S3 s- k" L: x! O
free:空闲的物理内存;
! u+ j4 @5 b7 J& J
! E6 b5 ]) X8 V6 ~5 t8 ^1 z" Sshared:被共享使用的物理内存;. m& t# g$ L1 N
3 d* A4 h# O3 ]) U% T
buff/cache:可以理解为缓存;
$ L% P0 X- X+ n; |& Z
' P5 T6 q3 F5 W. H% a' X: U1 G; Davailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。* r$ v/ W* B9 Y4 m( t# o
4 h% }* H& \8 P0 s6 V; v$ f3 |4 r7 c2.清理缓存命令:
" v: O' t9 T! ~; [5 I) }0 f) N& [" `, R* @% f8 M( L4 Q5 G8 g; u
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
! K) c% ^$ e- [( F- u
% v. V8 Y4 ]; n& _5 necho 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
) X6 w4 p E% ?9 H$ s
: n4 e" w% a: `) U. ]) pecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存) w v; [1 W" }( f3 @7 e: u
3 A& y9 I* S M T% q
注释:
5 X5 R+ i: t/ w5 M9 C4 K- [+ a2 k6 m
echo 0 是不释放缓存7 n" x1 M: r3 q6 |$ R( k. h- O
) \6 ?# c2 K/ y+ }- a5 r Wecho 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
+ p7 A5 ~9 m9 ]6 U. o$ e$ V, w! ^3 I' Z
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)
4 ~1 f4 S8 o, _* H7 ~, O
0 A8 e X/ N3 f2 |7 ^echo 3 是释放 1 和 2 中说到的所有缓存
# ]3 ~$ z9 B. t; h2 k
4 u2 x9 ?+ j! ?; k2 L
- L+ T% Q5 H* Z1 T9 ^( x$ c
& d3 d0 q) ^; C* ^, ?原文连接:http://www.szw86.com/thread-8891-1-1.html |
|