其实在认真阅读了这篇名为“计算内存使用 ”的文章之后,还是处于半迷糊状态。这位作者就说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在内存管理或是进程调度上有什么高明之处?
linux限制mysql内存
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:mysql 高耗时sql
下一篇:java 单站基站搜索代码
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【rabbitmq 高级特性】RabbitMQ 延迟队列全面解析
本文介绍了RabbitMQ中实现延迟队列的两种方式:TTL+死信队列组合和官方延迟插件。TTL+死信队列通过设置消息TTL和死信交换机
rabbitmq 分布式 代码实现 实现原理 延迟时间 -
transformers音频实战02-基于 Speech Commands 数据集的语音识别实战项目全流程
Speech Commands 数据集包含train(
#音视频 #语音识别 #人工智能 数据集 git -
Cucumber + Pytest(python)实现自动化(BDD)
摘要: 本文介绍了如何将BDD(行为驱动开发)与pytest+Python结合实现自动化测试。通过pytest-bdd插件,开发者可以使用Gherkin语法编写业务可读的测试用例,同时利用pytest的fixture、参数化等功能。文章详细说明了项目目录结构、Gherkin特性文件编写、步骤定义实现、PageObject模式应用以及测试运行与报告生成方法。这种组合兼具业务可读性和技术灵活性,支持丰富的测试报告和CI/CD集成,是现代化自动化测试的高效实践方案。(150字)
pytest python 自动化 Gherkin 运行测试
















