|
linux系统该如何查看内存使用情况以及清理缓存?* H# h2 ~/ B0 G$ `
* q6 G, |5 M3 E/ y
linux系统该如何查看内存使用情况以及清理缓存? e. x1 ^( s( M3 r3 Q
, P) X, a! _6 D# i+ b% R
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。
/ a2 h8 Y$ a; d0 s" `- I8 A
1 B. w- u0 s- Q7 h1.查看物理内存使用情况的命令:free -h
6 P2 j6 b" Y8 M; d, d
6 {$ b: C" A) F; ftotel:机器总的物理内存;9 z& P m7 F* m4 i
: a3 Z/ n6 H2 x( E" H7 l9 N) [used:已使用的内存;& d0 | m: d; G
# B3 i8 K0 Y/ e; K2 \free:空闲的物理内存;
' V; o" N8 R' i% Y! F1 p D8 r/ p, O* m' l' P
shared:被共享使用的物理内存;
6 f7 Z$ e! @$ |" N, ~. n$ K3 n ]
! r' ` L; _+ q' L; ]buff/cache:可以理解为缓存;
" H" o; I, ^, z
}1 o. a, p0 S4 Ravailable:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。
% E1 u4 M5 j% B0 I2 H8 q2 H) u4 d+ U9 Q$ f) E1 P. R
2.清理缓存命令:' l" I! L5 i( \
3 n; d T+ m" T Q7 |echo 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存
* M/ u. \$ v# h# G6 ^# \# U5 h$ ]7 z- M" {2 a9 q: |
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
0 ^+ w2 N5 n7 n# n. ?9 O% D5 m# g% g3 _% v$ I1 ?
echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存( z7 s+ J7 q+ A6 D! t9 C
$ r' d% Z9 ]# ~) m' `6 |
注释:
+ t2 w* r9 `- `, a7 N" s4 A8 O; d
3 L8 Y& n/ _3 H" Necho 0 是不释放缓存
% N1 Q. V8 }6 F, }8 g1 W7 e+ G" }) s7 l2 q- Z( [9 k V/ R X
echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)$ v) N1 ~1 ~4 G: I' e, t
: S5 m8 G( h+ G2 P- `ehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)/ s3 g2 x d; q% {
, @. r3 D5 g3 f( S$ wecho 3 是释放 1 和 2 中说到的所有缓存
! `% _0 }, M0 [" M: k& e k
+ W" k, z. E: f8 h' y9 `! F# T5 F. P2 t. |: b& y1 [
5 V: W& H/ f+ E0 S3 r' i' d/ C! P原文连接:http://www.szw86.com/thread-8891-1-1.html |
|