成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Vmstat命令中活躍內(nèi)存和非活躍內(nèi)存

開(kāi)發(fā) 前端
vmstat看到的active/inactive memory就分別是active list和inactive list中的內(nèi)存大小。如果inactive list很大,表明在必要時(shí)可以回收的頁(yè)面很多;而如果inactive list很小,說(shuō)明可以回收的頁(yè)面不多。

vmstat -a 命令能看到active memory 和 inactive memory:

但它們的含義在manpage中只給了簡(jiǎn)單的說(shuō)明,并未詳細(xì)解釋?zhuān)?/p>

inact: the amount of inactive memory. (-a option)active: the amount of active memory. (-a option)

在此我們?cè)噲D準(zhǔn)確理解它的含義。通過(guò)閱讀vmstat的源代碼(vmstat.c和proc/sysinfo.c)得知,vmstat命令是直接從/proc/meminfo中獲取的數(shù)據(jù):

而/proc/meminfo的數(shù)據(jù)是在以下內(nèi)核函數(shù)中生成的:

這段代碼的意思是統(tǒng)計(jì)所有的LRU list,其中Active Memory等于ACTIVE_ANON與ACTIVE_FILE之和,Inactive Memory等于INACTIVE_ANON與INACTIVE_FILE之和。

LRU list是Linux kernel的內(nèi)存頁(yè)面回收算法(Page Frame Reclaiming Algorithm)所使用的數(shù)據(jù)結(jié)構(gòu),LRU是Least Recently Used的縮寫(xiě)詞。這個(gè)算法的核心思想是:回收的頁(yè)面應(yīng)該是最近使用得最少的,為了實(shí)現(xiàn)這個(gè)目標(biāo),最理想的情況是每個(gè)頁(yè)面都有一個(gè)年齡項(xiàng),用于記錄最近一次訪問(wèn)頁(yè)面的時(shí)間,可惜x86 CPU硬件并不支持這個(gè)特性,x86 CPU只能做到在訪問(wèn)頁(yè)面時(shí)設(shè)置一個(gè)標(biāo)志位Access Bit,無(wú)法記錄時(shí)間,所以Linux Kernel使用了一個(gè)折衷的方法:它采用了LRU list列表,把剛訪問(wèn)過(guò)的頁(yè)面放在列首,越接近列尾的就是越長(zhǎng)時(shí)間未訪問(wèn)過(guò)的頁(yè)面,這樣,雖然不能記錄訪問(wèn)時(shí)間,但利用頁(yè)面在LRU list中的相對(duì)位置也可以輕松找到年齡最長(zhǎng)的頁(yè)面。Linux kernel設(shè)計(jì)了兩種LRU list: active list 和 inactive list, 剛訪問(wèn)過(guò)的頁(yè)面放進(jìn)active list,長(zhǎng)時(shí)間未訪問(wèn)過(guò)的頁(yè)面放進(jìn)inactive list,這樣從inactive list回收頁(yè)面就變得簡(jiǎn)單了。內(nèi)核線程kswapd會(huì)周期性地把a(bǔ)ctive list中符合條件的頁(yè)面移到inactive list中,這項(xiàng)轉(zhuǎn)移工作是由refill_inactive_zone()完成的。

LRU list 示意圖

vmstat看到的active/inactive memory就分別是active list和inactive list中的內(nèi)存大小。如果inactive list很大,表明在必要時(shí)可以回收的頁(yè)面很多;而如果inactive list很小,說(shuō)明可以回收的頁(yè)面不多。

Active/inactive memory是針對(duì)用戶進(jìn)程所占用的內(nèi)存而言的,內(nèi)核占用的內(nèi)存(包括slab)不在其中。

至于在源代碼中看到的ACTIVE_ANON和ACTIVE_FILE,分別表示anonymous pages和file-backed pages。用戶進(jìn)程的內(nèi)存頁(yè)分為兩種:與文件關(guān)聯(lián)的內(nèi)存(比如程序文件、數(shù)據(jù)文件所對(duì)應(yīng)的內(nèi)存頁(yè))和與文件無(wú)關(guān)的內(nèi)存(比如進(jìn)程的堆棧,用malloc申請(qǐng)的內(nèi)存),前者稱(chēng)為file-backed pages,后者稱(chēng)為anonymous pages。File-backed pages在發(fā)生換頁(yè)(page-in或page-out)時(shí),是從它對(duì)應(yīng)的文件讀入或?qū)懗?;anonymous pages在發(fā)生換頁(yè)時(shí),是對(duì)交換區(qū)進(jìn)行讀/寫(xiě)操作。

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2010-02-04 09:26:34

Linux vmsta

2010-06-02 12:47:12

Linux 內(nèi)存監(jiān)控

2010-03-03 16:53:40

Linux Ubunt

2022-10-08 11:34:07

業(yè)務(wù)分析用戶活躍

2021-07-15 10:49:17

私有云云計(jì)算混合云

2010-04-12 14:30:41

Ubuntu 10.0

2022-02-07 09:07:38

黑客供應(yīng)鏈攻擊SolarWinds

2010-07-26 12:48:34

IDC

2024-09-26 12:28:49

2013-10-12 13:01:51

Linux運(yùn)維內(nèi)存管理

2023-11-01 08:07:42

.NETC#

2014-01-14 10:52:06

Linux vmsta虛擬內(nèi)存

2011-07-27 15:28:39

Opera Mini瀏覽器

2021-12-24 10:01:55

勒索團(tuán)伙攻擊勒索軟件

2024-12-10 07:12:00

2020-10-10 10:40:20

APT組織分析

2012-03-22 21:07:24

iOS

2021-12-06 14:02:25

勒索軟件攻擊數(shù)據(jù)泄露

2009-03-02 09:13:00

LinuxFedora操作系統(tǒng)

2020-12-24 14:43:27

比特幣金融加密貨幣
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 成人免费视频观看视频 | 成人日b视频 | 成人精品免费 | 一级黄色片日本 | 9久久婷婷国产综合精品性色 | 久久免费视频观看 | 狠狠躁夜夜躁人人爽天天高潮 | 日韩中文字幕 | 日本久久精品视频 | 中文在线一区二区 | 中文字幕一区二区三区四区 | 中文字幕一区二区三区四区五区 | 欧美黄色片 | 欧美日韩在线视频一区 | 黄色欧美在线 | 亚洲最大的黄色网址 | 蜜桃av鲁一鲁一鲁一鲁 | 中文字幕成人在线 | 日韩欧美一区二区三区免费看 | 亚洲国产精品一区二区www | 在线观看成年视频 | 午夜一区二区三区在线观看 | 亚洲乱码国产乱码精品精的特点 | 日韩国产中文字幕 | 亚洲国产情侣 | 一级毛片在线看 | 欧美日韩成人在线 | 欧洲一区二区在线 | 久久久久久久一区 | 亚洲网站在线 | 中文字幕在线看 | 中文字幕 在线观看 | 夜夜操天天操 | 免费国产视频在线观看 | 四虎永久免费地址 | 欧美一级在线观看 | 91麻豆精品国产91久久久更新资源速度超快 | 精品乱码一区二区三四区视频 | 欧美在线高清 | 欧美一级免费片 | 国产高清视频一区二区 |