|
linux系统该如何查看内存使用情况以及清理缓存?
3 j0 _& e% v, V7 B# p
* l/ I& P# ]/ s) w" ] [ Elinux系统该如何查看内存使用情况以及清理缓存?+ E& c6 u- o5 Z8 D1 |5 X
4 ^: v3 b% A" W$ w* l/ [+ R
有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以使用下面的方法查看,并及时清理。, V* @& T4 M5 G) ^3 h6 X
& l- W1 U* u/ G' c2 G, h1.查看物理内存使用情况的命令:free -h
) ^0 ?# Y' \3 _+ s8 [- t/ S: k/ O1 s- [+ l' u2 Q
totel:机器总的物理内存;
2 a/ Q0 A# }4 g- m5 G2 ~ P
. \; Y; _5 r0 S1 X/ nused:已使用的内存;
% W7 L4 H! U2 L% n0 b% Z& C: d$ L7 [+ A b4 ~
free:空闲的物理内存;
/ [4 C5 I4 s5 y4 M7 V( d+ s) d2 S0 R8 L% j4 y' W x( L8 n. t& Z
shared:被共享使用的物理内存;+ e/ `7 i6 Q# u
4 ?5 |% k8 T9 ]( E! x2 R8 [
buff/cache:可以理解为缓存;
& c! J. U7 X: O4 p- n8 |1 V7 ]% l6 J, g! [
available:还可以被应用程序使用的物理内存;available= free + buffer + cache(这只是理想中的计算方式,实际中的数据往往有较大的误差)。$ g+ l' J' \& v/ r4 N" z" D. E7 I7 O5 T' F
* r/ C# L# B1 k4 w) Z3 r2.清理缓存命令:/ k5 ~$ Z. O' b E) I {# k
) ]9 c" r) f* }8 S Y$ Wecho 1 > /proc/sys/vm/drop_caches //释放pagecache页面缓存2 ?# h k; k9 v9 v! j
5 A$ F! V! X5 p' i# o7 A
echo 2 > /proc/sys/vm/drop_caches //释放dentries(目录缓存)和inodes缓存
; A0 G: L9 g5 I: z" v; L* E: o$ J) C7 |
echo 3 > /proc/sys/vm/drop_caches //释放pagecache,dentries 和 inodes缓存' v: b4 p: b \% o; u3 _5 ^
2 R# Y0 h2 L3 m& W5 c4 D
注释:8 y& X- c# t# C- ~9 x5 a: V
+ U! E, a7 G$ N S; K$ ]. Z
echo 0 是不释放缓存; q0 p. K- z3 Q( X8 W" [% U' G
% E7 d8 H+ x% [. E# @8 `+ _echo 1 是释放pagecache页面缓存(清空最近放问过的文件页面缓存)6 `/ k4 r2 ]$ l# A, _8 E* y7 |4 {
, j4 G5 u$ n' ^ v/ Fehco 2 是释放dentries(目录缓存)和inodes缓存(清空目录项缓存和文件节点缓存)& A0 [0 k4 w' X" {2 i& }
, W0 _) Y$ z) y. X( Q) R* h( Y; {
echo 3 是释放 1 和 2 中说到的所有缓存
# y' W7 \" {, \
% I; X. s0 x# V N' y
# [+ T' F: n4 m" P1 U) k3 g- }& s, I7 D7 D
原文连接:http://www.szw86.com/thread-8891-1-1.html |
|