Linux内存计算方法

一、Linux进程占用内存计算方法

进入top,按f选择swap, code, data; 按M根据内存排序。

总结:
VIRT 虚拟内存中含有共享库、共享内存、栈、堆,所有已申请的总内存空间。
RES  是进程正在使用的内存空间(栈、堆),申请内存后该内存段已被重新赋值。
SHR  是共享内存正在使用的空间。
SWAP 交换的是已经申请,但没有使用的空间,包括(栈、堆、共享内存)。
DATA 是进程栈、堆申请的总空间。
 

VIRT=RES+SWAP
VIRT=CODE+DATA+SHR+SWAP中共享库/内存
SHR:内存中共享库/内存实际占用
进程代码和堆栈实际占用内存=RES-SHR
RES和SWAP中都包含共享库/内存
CODE+DATA不包含共享库/内存占用。

参考:https://blog.youkuaiyun.com/u011547375/article/details/9851455

 

 

二、Linux如何查看空间内存有多少

free和top显示的内存容易让人混淆。下面分析一下实际占用内存和空闲内存。
free默认显示的单位是KB。
实际使用内存和空闲内存看第二行。
实际占用内存=used - buffers - cached
空闲内存=free + buffers + cached
操作系统来讲是Mem的参数.buffers/cached 都是属于被使用.
对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。
除了对dentry进行缓存(用于VFS,加速文件路 径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间。

参考:https://zhidao.baidu.com/question/84777164.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值