|
linux系统该如何查看内存使用情况以及清理缓存?
6 v: b E; i$ z
- L7 _0 b) J+ [5 C. q( Flinux系统该如何查看内存使用情况以及清理缓存?
7 C2 Z0 l) _1 ~9 G
1 Q" c7 p$ V3 S# |; K有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。! y; O4 F `% b% `
4 @( q9 T2 ~ p9 @1.查看物理内存使用情况的命令:free -h
5 o9 V. _4 w- T
5 z. s4 h, ~% h3 x# W* k# Ktotel:机器总的物理内存;& h9 R0 n5 e3 k# x5 k
4 b) u; U5 ~7 `9 rused:已使用的内存;
& V( n7 E$ o+ L* ?- j! i h' M# Q1 z; [6 R
free:空闲的物理内存;
; e1 t; J) @+ {. O$ B4 F
, c& V; Q# I2 |. [shared:被共享使用的物理内存;
2 {: n( B* d7 D. i8 x- W
; i0 n$ W c, [ vbuff/cache:可以理解为缓存;
' Y, e# T( J0 V4 ^5 j5 }% @, u2 H5 ]2 `- s7 x) z
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。, g L) \, F9 b6 O4 y
; L0 n" N" @/ U: F% r0 z! S& p
2.清理缓存命令:9 a8 x4 u7 o& \
$ q- E$ r0 {; x1 ?* j
echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存/ U. R* X) Z" g9 d! U4 Q/ N3 k7 i/ y
8 w* ], \3 Q4 j0 \/ V7 Z6 v
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存" \. Y0 K2 l0 {9 v# Y, T& w0 K
Q( g# y( ^8 I. r0 necho 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存
& P( h) U V% I# `0 c- K: Z/ T
- i ^$ L/ N4 f8 _/ B. g注释:
' E8 ^& C% E% \
& i9 }0 H+ }' L' Gecho 0 是不释放缓存 n3 j, x6 `; c m. B+ ~+ o( e, t
4 E# _3 @* N2 I
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)
2 n/ Y; w$ r' o; n2 a7 i
( [9 b0 k q# dehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存); T2 k% y: w/ u3 \
* a) ^( x7 @" r! _/ S T
echo 3 是释放 1 和 2 中说到的所有缓存$ {- r! d5 b6 j* U4 i8 Z& o3 q
3 k1 l; b- x/ D+ F1 V3 C- h# p: I
* V8 [% w! c- U2 ~/ y6 u
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|