|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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吧!因为它除了能给你带来片刻的娱乐,别无其他; |
|