Technical articles
今天我们同大家一起(qǐ)學(xué)习Linux查看内存的命令,并且每一条空兒显示的命令我们都(dōu)做了详细的解释,以便大家理解消化,下面(m知海iàn)是具体内容 收藏
我们通過(guò)Linux查看内存free命令查看机器空闲内存時(shí)計樹,會(huì)發(fā)现free的值很小。
下面(miàn)我们就(jiù)来了解學(xué)习下Linux查看内存的命玩什令和對(duì)這(zhè)些命令的解释,這(zhè)樣(yàng)大家更分去能(néng)够深刻理解我们的Linux查看内存命令
在Linux下查看内存我们一般用free命令:
[root@scs-2 tmp]# free
total &n是到bsp; used &n白什bsp; free  湖新; shared buffe間志rs cached
Mem: &nbs開樹p; 3266180 3250004&自答nbsp; 16176&nb慢人sp; &nb低黃sp; 0 &nbs說些p; 110652  自器; 2668236
-/+ buffers/cache: &n個木bsp; 471116 2795花務064
Swap: 唱做2048276  年件; 80160 1968116
下面(miàn)是對(duì)Linux查看内存命令中這(zhè)些数值的解释去好:
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个進(jìn)程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就(jiù)不多解释了。
区别:第二行(mem)的used/free与第三行(-/+ buffer這科s/cache) used/free的区别。 這(zhè)兩(liǎ雪歌ng)个的区别在于使用的角度来看,
***行是从OS的角度来看,因为對(duì)于OS,buffer月視s/cached 都(dōu)是属于被(bèi)使用,
所以他的可用内存是16176KB,已用内存是3250004KB,其中包括林理,内核(OS)
使用+Application(X, oracle,etc)使用的+buffer慢國s+cached.
第三行所指的是从应用程序角度来看,對(duì)于应用程序来說(s兵什huō),buffers/cached 是等于可用的,
因为buffer/cached是为了提高文件读取的性能(néng),多暗当应用程序需在用到(dào)内存的時(shí)候,buffe厭市r/cached會(huì)很快地被(bèi)回收。
所以从应用程序的角度来說(shuō),可用内存=系统free 小會memory+buffers+cached。
如上例:
2795064=16176+110652+2668236
接下来解释什麼(me)時(shí)候内存會(huì)被(bèi)交裡腦换,以及按什麼(me)方交换。
当可用内存少于额定值的時(shí)候,就(jiù)會(huì)開(k拿都āi)會(huì)進(jìn)行交换。
Linux查看内存命令時(shí)如何看额定值:
cat /proc/meminfo
[root@scs-2 tmp]# cat /proc/meminf對章o
MemTotal: &nb劇靜sp; 3266180 kB
MemFree: &討厭nbsp; 17456 kB
Buffers: &nb行還sp; 111328 kB
Cached: &的舞nbsp; 2664024 kB
SwapCached: &nbs線服p; 0 kB
Active: &nbs草通p; 467236 kB
Inactive: &nbs你妹p; 2644928 kB
HighTotal: &nbs愛美p;  雜多; 0 kB
HighFree: &亮得nbsp;  能你; 0 kB
LowTotal: 算從 3266180 kB
LowFree: &nbs兵兒p; 17456 kB
SwapTotal: 2048問制276 kB
SwapFree: 月視 1968116 kB
Dirty: 8 kB
Writeback: 購司 &nb來靜sp; 0 kB
Mapped: &n紙花bsp; 345360 kB
Slab: &nbs制哥p; 厭票112344 kB
Committed_AS: 535292 kB
PageTables: &市都nbsp; 2340 kB
VmallocTotal: 536870911 kB
VmallocUsed: 2月土72696 kB
VmallocChunk: 536598175 kB
HugePages_Total: &nbs在議p; 0
HugePages_Free:  不會; 0
Hugepagesize: 什見2048 kB
用free -m查看的结果:
[root@scs-2 tmp]# free -m
total &nb長習sp; used 年話 free &nb那又sp; shared  間火; buffers ca線她ched
Mem: &時森nbsp; 3189 要靜; 3173慢小 &n就坐bsp; 16  空體; 0&nb吃玩sp; 唱做 107 &nbs飛女p; 2605
-/+ buffers/cache: &nbs報喝p; 460&業視nbsp;  讀很; 2729
Swap: &nbs不站p; 2000 &nb空錢sp; &nb間就sp; 78 跳弟 1921
查看/proc/kcore文件的大小(内存镜像):
[root@scs-2 tmp]# ll -h /proc/還書kcore
-r-------- 1 root root 4.1G Jun 1員討2 12:04 /proc/kcore
备注:
占用内存的测量
测量一个進(jìn)程占用了多少内存,linux为我们提供了一个很方便的方匠道法,
/proc目录为我们提供了所有的信息,实际上top等工具也通呢要過(guò)這(zhè)裡(lǐ)来获取相应的信息。
/proc/meminfo 机器的内存使用信息
/proc/pid/maps pid为進(jìn)程号,显示当前進(jìn爸黃)程所占用的虚拟地址。
/proc/pid/statm 進(jìn)程所占用的内存
[root@localhost ~]# cat /proc/self/st秒算atm
654 57 44 0 0 334 0
Linux查看内存命令的输出解释
CPU 以及CPU0。。。的每行的每个参数意思(以***行为慢男例)为:
参数 解释 /proc//status
Size (pages) 任务虚拟地址空间的大小 VmSize/4作樂
Resident(pages) 应用程序正在使用的物理内存的大小 V就亮mRSS/4
Shared(pages) 共享页数 \
Trs(pages) 程序所拥有的可执行虚拟内存的大小 Vm技場Exe/4
Lrs(pages) 被(bèi)映像到(dào)任务的虚拟内存空空厭间的库的大小 VmLib/4
Drs(pages) 程序数据段和用户态的栈的大小 (VmDa報喝ta+ VmStk )4
dt(pages) 04
查看机器可用内存
/proc/28248/>free
total used free shared buffers 都工cached
Mem: 1023788 926400 97388 0 13466麗北8 503688
-/+ buffers/cache: 288044 73574物厭4
Swap: 1959920 89608 1870312
我们通過(guò)free命令查看机器空闲内存時(shí),會(huì家為)發(fā)现free的值很小。這(zhè)主要是因为,
在linux中有這(zhè)麼(me)一種(zhǒng)思想,内計服存不用白不用,因此它尽可能(néng)的cache和buffe還筆r一些数据,以方便下次使用。但实际上這(zhè)些内存也是可以立刻拿来使用的。船中
所以 空闲内存=free+buffers+cached=total-大輛used
上一篇:Windows手工入侵排查思路
下一篇:华为防火墙的管理方式介绍及配置