linux内存计算方法,Linux内存计算方法

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

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

0593f6107bfd685bffa2cedace087d2e.pnghtml

总结:

VIRT 虚拟内存中含有共享库、共享内存、栈、堆,全部已申请的总内存空间。

RES  是进程正在使用的内存空间(栈、堆),申请内存后该内存段已被从新赋值。

SHR  是共享内存正在使用的空间。

SWAP 交换的是已经申请,但没有使用的空间,包括(栈、堆、共享内存)。

DATA 是进程栈、堆申请的总空间。

node

VIRT=RES+SWAP

VIRT=CODE+DATA+SHR+SWAP中共享库/内存

SHR:内存中共享库/内存实际占用

进程代码和堆栈实际占用内存=RES-SHR

RES和SWAP中都包含共享库/内存

CODE+DATA不包含共享库/内存占用。缓存

86ca0a974971e145f438db05408b1434.png

2、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)的时间。操作系统

5429f75f1664846c5b38e5c50570f015.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值