搞明白Linux下程序的内存占用
其实在认真阅读了这篇名为“计算内存使用
”的文章之后,还是处于半迷糊状态。这位作者就说Linux下面没有特别好的显示内存占用的工具,虽然有top和free,但都说得不清楚,就跟巫毒教的魔术似的。
比如top这个工具,它会显示3种数据,作者分别解释如下:
VIRT:virtual memory usage。Virtual这个词很神,一般解释是:virtual adj.虚的, 实质的,
[物]有效的,
事实上的。到底是虚的还是实的?让Google给Define之后,将就明白一点,就是这东西还是非物质的,但是有效果的,不发生在真实世界的,发生在软
件世界的等等。这个内存使用就是一个应用占有的地址空间,只是要应用程序要求的,就全算在这里,而不管它真的用了没有。写程序怕出错,又不在乎占用的时
候,多开点内存也是很正常的。
RES:resident memory usage。常驻内存。这个值就是该应用程序真的使用的内存,但还有两个小问题,一是有些东西可能放在交换盘上了(SWAP),二是有些内存可能是共享的。
SHR:shared memory。共享内存。就是说这一块内存空间有可能也被其他应用程序使用着;而Virt - Shr似乎就是这个程序所要求的并且没有共享的内存空间。
DATA:数据占用的内存。如果top没有显示,按f键可以显示出来。这一块是真正的该程序要求的数据空间,是真正在运行中要使用的。
所以DATA的含义比较确定,甚至可以用程序读取的数据量计算出来;SHR是一个潜在的可能会被共享的数字,如果只开一个程序,也没有别人共同使用
它;VIRT里面的可能性更多,比如它可能计算了被许多X的库所共享的内存;RES应该是比较准确的,但不含有交换出去的空间;但基本可以说RES是程序
当前使用的内存量。
将就明白这几点意思也算是收获吧,对这么高深的东西没力气深究啦。最近感觉到Firefox在Linux下面比在Win上还好用,表现就是僵死的机会少且
僵住的时间短,一个页面上有大量图片时表现也要比Win上面好,也许表明Linux在内存管理或是进程调度上有什么高明之处?
相关文档:
1 cron
以下,是ctontab的格式:
分<>时<>日<>月<>星期<>要运行的命令
其中<>表示空格。
这里有c r o n t a b文件条目的一些例子:
30 21* * * /apps/bin/cleanup.sh
上面的例子表示每晚的2 1 : 3 0运行/ a p p s / b i n目录下的c l e a n u p . s h。
45 4 1,10,22 * ......
点击菜单“虚拟机”--Install VMware Tools
在red hat桌面右击konsole
输入命令:cd/media
ls
要先双击VMware Tools再输入命令直到出现VMware Toolsi
再输入命令:cd VM*
&nb ......
Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。一个系统中可以同时存在不同的文件系统,不同的文件系统类型有不同的特点,因而根据存储设备的硬件特性、系统需求等有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为RAM(DRAM, SDRAM)和ROM(常采 ......
前段时间为了解决一个从128M升级到256M的DDR问题,搞的是焦头烂额。最后在别人讨论的情况下终于试出来了正确结果,下来还得自己总结下。
自己的硬件平台才采用的是6410的DMC1即32位的DRAM控制器,两个16位128M的DDR的地址线是共在一起连在6410的16根地址线 ......
摘 要: 嵌入式 Linux 的可移植性使得我们可以在各种电子产品上看到它的身影。对于不
同体系结构的处理器来说Linux的启动过程也有所不同。本文以S3C2410 ARM处理器为例,
详细分析了系统上电后 bootloader的执行流程及 ARM Linux的启动过程。
关键词:ARM Linux bootloader 启动过程
中图分类号:TP316
1. 引 言 ......