仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 854|回复: 8
打印 上一主题 下一主题

[其他Linux] linux教程之Linux操纵体系下关于内存检察的具体剖析

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 16:51:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
开发linux发行版的人都是通读过linux内核代码,对linux原理极其精通的人。
Linux中利用free能够检察体系内存利用形态,默许单元为k

blue_stone@blueice:~$free
totalusedfreesharedbufferscached
Mem:207532018791721961480533484952588
-/+buffers/cache:3931001682220
Swap:200808402008084

Mem行显现了从体系角度看来内存利用的情形,total是体系可用的内存巨细,数目上即是体系物理内存减往内核保存的内存.buffers和cached是体系用做缓冲的内存.buffers与某个块设备联系关系,包括了文件体系元数据,而且跟踪了块的变更.cache只包括了文件自己.
-/+buffers/cache行则从用户角度显现内存信息,可用内存从数目上即是mem行used列值减往buffers和cached内存的巨细.由于buffers和cached是操纵体系为加速体系运转而设置的,当用户必要时,能够只接为用户利用.
top和vmstat也显现了体系内存的信息,和free的显现了局相似.
这些命令都是从/proc/meminfo中读取内存信息.

blue_stone@blueice:~$cat/proc/meminfo
MemTotal:2075320kB
MemFree:25016kB
Buffers:763564kB
Cached:879860kB
SwapCached:0kB
Active:1056968kB
Inactive:843136kB
HighTotal:917440kB
HighFree:13892kB
LowTotal:1157880kB
LowFree:11124kB
SwapTotal:2008084kB
SwapFree:2008084kB
Dirty:4708kB
Writeback:0kB
Mapped:707152kB
Slab:102728kB
CommitLimit:3045744kB
Committed_AS:691808kB
PageTables:2936kB
VmallocTotal:114680kB
VmallocUsed:14800kB
VmallocChunk:98800kB

关于/proc/meminfo中各行的含义,在内核源代码的Documentation/filesystems/proc.txt文件中有叙说,体系的实在内存巨细能够用dmesg|grep[mM][eE][mM]看到。

blue_stone@blueice:~$dmesg|grep[mM][eE][mM]
895MBHIGHMEMavailable.
1152MBLOWMEMavailable.
HighMemzone:229360pages,LIFObatch:31
Memory:2073292k/2097088kavailable(1493kkernelcode,21648kreserved,
546kdata,196kinit,917440khighmem)
Freeinginitrdmemory:1079kfreed
MEMwindow:f8000000-f80fffff
highmembouncepoolsize:64pages
Freeingunusedkernelmemory:196kfreed
ehci_hcd0000:00:10.4:irq177,iomem0xf8121000
/dev/vmnet:hub0doesnotexist,allocatingmemory.
[fglrx]Maximummainmemorytouseforlockeddmabuffers:1898MBytes.
/dev/vmnet:hub3doesnotexist,allocatingmemory.
/dev/vmnet:hub1doesnotexist,allocatingmemory.
/dev/vmnet:hub2doesnotexist,allocatingmemory.

历程利用的内存能够用top,ps来检察top中有3个列VIRTRESSHR,标示了历程利用的内存情形,VIRT标识这个历程可使用的内存总巨细,包含这个历程实在利用的内存,映照过的文件,和其余历程共享的内存等.RES标识这个这个历程实在占用内存的巨细.SHR标识能够和其余历程共享的内存和库巨细.
/proc/pid/status显现一个历程的具体形态,上面是一个示例:

blue_stone@blueice:~$cat/proc/5346/status
Name:bash
State:S(sleeping)
SleepAVG:98%
Tgid:5346
Pid:5346
PPid:5343
TracerPid:0
Uid:1000100010001000
Gid:104104104104
FDSize:256
Groups:624294410411310001001
VmPeak:6528kB
VmSize:6528kB
VmLck:0kB
VmHWM:1976kB
VmRSS:1976kB
VmData:752kB
VmStk:84kB
VmExe:644kB
VmLib:1788kB
VmPTE:16kB
Threads:1
SigQ:0/4294967295
SigPnd:0000000000000000
ShdPnd:0000000000000000
SigBlk:0000000000000000
SigIgn:0000000000384004
SigCgt:000000004b813efb
CapInh:0000000000000000
CapPrm:0000000000000000
CapEff:0000000000000000

VmSize即为该历程内存总巨细,和top输入中的VIRT分歧

</p>
如果你想在以后的生涯中在软件行业工作的话,学习linux是一项基本技能,所以打从你打算学习linux那天起,放弃windows吧!因为它除了能给你带来片刻的娱乐,别无其他;
谁可相欹 该用户已被删除
沙发
发表于 2015-1-18 17:07:58 | 只看该作者
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
山那边是海 该用户已被删除
板凳
发表于 2015-1-26 19:55:50 | 只看该作者
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
小女巫 该用户已被删除
地板
发表于 2015-2-4 21:06:42 | 只看该作者
为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。?
只想知道 该用户已被删除
5#
发表于 2015-2-10 11:09:41 | 只看该作者
我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。
蒙在股里 该用户已被删除
6#
发表于 2015-3-1 12:58:56 | 只看该作者
查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
老尸 该用户已被删除
7#
发表于 2015-3-10 17:33:35 | 只看该作者
下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢”这样的问题。
admin 该用户已被删除
8#
发表于 2015-3-17 09:10:47 | 只看该作者
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
透明 该用户已被删除
9#
发表于 2015-3-24 05:33:49 | 只看该作者
了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 10:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表