文档章节

dirty memory

Lambda8421
 Lambda8421
发布于 2015/08/30 22:11
字数 492
阅读 150
收藏 2
关于各种内存的解释,来源于stackoverflow

Wired : This refers to kernel code and such. Memory that should not
  ever be moved out of the RAM. Also know as resident memory.
Shared : Memory that is shared between two or more processes. Both
  processes would show this amount of memory so it can be a bit
  misleading as to how much memory is actually in use.
Real : This is the "real" memory usage for an application as reported
  by task_info() - a rough count of the number of physical pages that
  the current process has. (RSIZE)
Private : This is memory that a process is using solely on it's own
  that is used in Resident memory. (RPRVT)
Virtual : The total amount of address space in the process that's
  mapped to anything - whether that's an arbitrarily large space for
  variables or anything - it does not equate to actual VM use. (VSIZE)
Active : Memory currently labelled as active and is used RAM.
Inactive : "Inactive memory is no longer being used and has been
  cached to disk. It will remain in RAM until another application needs
  the space. Leaving this information in RAM is to your advantage if you
  (or a client of your computer) come back to it later." - Mac OS X Help
Free : The amount of RAM actually available without any data.







Some One Answer

It's almost a year and I figured it out.
clean memory 
clean memory are memories that can be recreated, on iOS it is memory of:
system framework
binary executable of your app
memory mapped files
Also notice this situation: when your app link to a framework, the 
clean memory will increase by the size of the framework binary. But most
 of time, only part of binary is really loaded in physical memory.
dirty memory
All memory that is not clean memory is dirty memory, dirty memory can't be recreated by system.
When there is a memory pressure, system will unload some clean 
memory, when the memory is needed again, system will recreate them.
But for dirty memory, system can't unload them, and iOS has no swap 
mechanism, so dirty memory will always be kept in physical memory, till 
it reach a certain limit, then your App will be terminated and all 
memory for it is recycled by system.
virtual memory
virtual memory = clean memory + dirty memory.
That means virtual memory is all the memory your App want.
resident memory
resident memory = dirty memory + clean memory that loaded in physical memory
resident memory is the memory really loaded in your physical memory, 
it mean all the dirty memory and parts of your clean memory.
conclusion
At any time, this is always true:
virtual memory == (clean memory + dirty memory) > resident memory > dirty memory
If you are worrying about the physical memory your App is 
taking(which is the key reason your App is terminated due to low 
memory), you should mainly focus on resident memory.

© 著作权归作者所有

Lambda8421
粉丝 10
博文 121
码字总数 121640
作品 0
闸北
程序员
私信 提问
Linux下清理内存和Cache方法

频繁的文件访问会导致系统的Cache使用量大增 $ free –m total used free shared buffers cached Mem: 3955 3926 28 0 55 3459 -/+ buffers/cache: 411 3544 Swap: 5726 0 5726 free内存减少......

翼动动空
2016/05/10
770
0
记一次rocketmq问题排查

现象: 问题发现, rocketMq的console不响应,去rocketMq的服务器查看,系统非常卡,基本命令输入不了。 观察CPU占用非常高。 只能物理关机重启。 剪贴板图片 2017-11-17 100614.png 最开始,...

云胜886
2017/11/18
0
0
Linux下清空缓存的办法

Writing to this will cause the kernel to drop clean caches, dentries andinodes from memory, causing that memory to become free. To free pagecache: To free dentries and inodes: T......

金琥
2017/12/24
0
0
redis info信息详解A

# Server redisversion:2.8.19 ###redis版本号 redisgitsha1:00000000 ###git SHA1 redisgitdirty:0 ###git dirty flag redisbuildid:78796c63e58b72dc redismode:standalone ###redis运行模......

arvin_qin
2017/05/26
0
0
OTP 20.0 发布,Erlang 应用服务器

OTP 20.0 发布了,OTP (Open Telecom Platform) 是一个开源的 Erlang 分发和一个用 Erlang 编写的应用服务器。 Erlang / OTP 20.0是一个新的主要版本,新增了一些新功能,不少(特征)改进。...

两味真火
2017/06/22
2.1K
3

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部