为什么内存使用量超过Linux中的物理RAM?
发布时间:2021-01-11 21:08:52 所属栏目:Linux 来源:互联网
导读:我正在研究一个具有512MB RAM和足够交换内存的嵌入式系统来支持该应用程序.从内核中,我将内核cmd参数的RAM大小限制为130MB.并使用swapoff -a禁用交换.我还禁用了内核过度使用,因此应用程序可以单独在物理内存中运行.我验证了/ proc / cmdline和/ proc / memin
我正在研究一个具有512MB RAM和足够交换内存的嵌入式系统来支持该应用程序.从内核中,我将内核cmd参数的RAM大小限制为130MB.并使用swapoff -a禁用交换.我还禁用了内核过度使用,因此应用程序可以单独在物理内存中运行.我验证了/ proc / cmdline和/ proc / meminfo的更改.现在,当我运行应用程序并检查顶部值时,我的应用程序的VSZ是177m,这超过了实际的内存!这怎么可能?这个记忆是从哪里来的? 解决方法VSZ是进程使用的虚拟内存大小.这是正常的,它高于你的物理内存的大小,因为这是其中一个主要的想法.您应该查看Resident size(RSS),它是进程使用的实际物理内存.看看这个例子: 我有一个运行的nginx进程: ps -o rss,vsz,cmd ax | grep -i nginx | head -n1 956 31248 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf rss - 956 kB vsz - 31248 kB 因此,这意味着此过程使用956kB的物理内存和31MB的虚拟内存. 与您一样,禁用交换(swapoff -a)不会禁用虚拟内存. 在这里阅读虚拟内存: (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Linux上,有什么比`find`或`diff -r`更快的方式来查看目录
- linux – bash / Makefile中双符号的意思是什么?
- linux – GNU malloc_info():获得真正分配的内存?
- 使用sed替换shell脚本中的特殊字符
- LINUX教程:CentOS安装使用VNC进行远程桌面登录
- linux – 什么是汇编中的%gs
- zsh – 如何在命令行中获取上一个命令的第n个参数?
- linux – [01000] [unixodBC] [Driver Manager]无法打开lib
- linux – 任何方式来指定配置文件数据的位置
- linux – NPTL和pthread令人困惑