|
linux系统该如何查看内存使用情况以及清理缓存?2 f1 n9 W! C0 K
7 P9 _% m( e+ h/ K" F' @ b
linux系统该如何查看内存使用情况以及清理缓存?
) K9 ~) G9 s7 S9 U/ X# |! M: G( L
; K" k" T+ k* X5 Y0 c& O有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。( }2 B- N5 v5 J- p! \8 E+ j
3 a l) l7 b* W1 `7 v1.查看物理内存使用情况的命令:free -h
. G/ c% A! d8 F# m" z& W! ^/ _1 R- v( ]
totel:机器总的物理内存;
C5 s4 j1 R7 Z0 e4 A7 p: F! \ s4 {6 b
used:已使用的内存;% V8 K Q. z$ f3 @# D
/ O9 r9 q) l' |# Afree:空闲的物理内存;& ]- K' ]7 D& X- }* L
2 v4 u7 Z+ L5 T) X
shared:被共享使用的物理内存;4 l2 Q' J" R) E
# @" ]8 _' {" Q( K2 B: {* [
buff/cache:可以理解为缓存;' x9 }: z; F* n/ Y X- R8 B0 t* d6 W" D
( B( a" l5 C$ W$ ?7 _
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
6 t1 ^) N8 w' ]
# R; r+ C9 H K$ v9 ?5 v2.清理缓存命令:
! U. X+ |5 q" M) G, Y% Q5 k2 U, c9 T4 c- x1 x
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存1 S/ z7 U* k5 J0 ? \9 p' B, e, p. Z4 q
& N; ?7 H' v8 ^6 ]$ E7 g1 M1 B
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存( @0 n% |- J$ b# T6 v
{. R+ B d# _ Qecho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存
, |) w1 @1 Y! F# `( n+ B: c' X3 Y8 Q1 {4 e' J. v" P% a
注释:; _% t g% I) ^% b+ b4 v
. g0 T$ K4 T4 Q$ O- N
echo 0 是不释放缓存: S" e* n0 c$ A5 O. c% x
|: l( Y: ]3 D8 D- ]
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
( _" ~. `, ]) j1 X6 ]3 J& {9 ]+ y( o8 `! I- J- P3 ?. F
ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)/ @9 O' q, N; @" O5 n2 a
% J# h( d% x8 Uecho 3 是释放 1 和 2 中说到的所有缓存
I9 Z/ k C4 N! R: i# @" `) _) |, Q+ F. h+ j+ ?
- k% v) @: R) E9 {5 h; Z
( k7 q8 v, o m8 ^原文连接:http://www.szw86.com/thread-8891-1-1.html |
|